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'));