PHP如何查找一年零一天的闰年日期和时间

时间:2012-08-31 13:55:34

标签: php date

我正在尝试让php计算一年零一天的日期。我有这个:

$date = date(strtotime('-366 days'));
$oneyear_oneday = date("Y-m-d H:i:s", $date); 

$date = date(strtotime('-1 year'));
$oneyear = date("Y-m-d H:i:s", $date);

然而,由于它是闰年,$ one和$ year_outay提供相同的输出。有谁知道我怎么能正确计算这个?

即如果是2012年8月15日下午3点,我希望产量在2011年8月15日下午3点

5 个答案:

答案 0 :(得分:3)

使用PHP5.3,

   $date = new DateTime();
   $interval = new DateInterval("P1Y");
   $newdate = $date->sub($interval);

答案 1 :(得分:0)

您可以尝试使用mktime() ...

答案 2 :(得分:0)

两种计算都是正确的。但是如果你想获得相同的日期,但是一年之前,你应该只使用'1年'。字符串'-366天'仅在闰年中是正确的。

答案 3 :(得分:0)

$date = strtotime('2010-01-01 -1 year');
echo date('Y-m-d', $date); 

输出流看起来像,

2009-01-01

Go this Link for more reference

答案 4 :(得分:0)

首先,减去一年。然后,从结果中减去一天:

$date = strtotime('-1 day', strtotime('-1 year'));
$oneyear_oneday = date("Y-m-d H:i:s", $date);