date减去1年?
我有这种格式的date:
2009-01-01
我如何返回同一date,但1年前?
你可以使用strtotime
:
$date = strtotime('2010-01-01 -1 year');
strtotime
函数返回一个unix时间戳,得到一个可以使用的格式化的stringdate
:
echo date('Ym-d', $date); // echoes '2009-01-01'
使用strtotime()函数:
$time = strtotime("-1 year", time()); $date = date("Ymd", $time);
使用DateTime对象…
$time = new DateTime('2099-01-01'); $newtime = $time->modify('-1 year')->format('Ym-d');
或今天使用
$time = new DateTime('now'); $newtime = $time->modify('-1 year')->format('Ym-d');
一个最简单的方法,我使用和运作良好
date('Ym-d', strtotime('-1 year'));
这工作完美..希望这会帮助别人.. 🙂
// set your date here $mydate = "2009-01-01"; /* strtotime accepts two parameters. The first parameter tells what it should compute. The second parameter defines what source date it should use. */ $lastyear = strtotime("-1 year", strtotime($mydate)); // format and display the computed date echo date("Ymd", $lastyear);
您可以使用以下函数从date中减去1或任何年份。
function yearstodate($years) { $now = date("Ymd"); $now = explode('-', $now); $year = $now[0]; $month = $now[1]; $day = $now[2]; $converted_year = $year - $years; echo $now = $converted_year."-".$month."-".$day; } $number_to_subtract = "1"; echo yearstodate($number_to_subtract);
看上面的例子,你也可以使用以下内容
$user_age_min = "-"."1"; echo date('Ym-d', strtotime($user_age_min.'year'));