我正在尝试让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点
答案 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
答案 4 :(得分:0)
首先,减去一年。然后,从结果中减去一天:
$date = strtotime('-1 day', strtotime('-1 year'));
$oneyear_oneday = date("Y-m-d H:i:s", $date);