问题:我将来使用strtotime提前364天,但是我在闰年时会遇到麻烦。
示例:今天是2012年1月20日 - 我需要PHP为我计算2013年1月19日的时间戳。
如果我只是添加
strtotime(“+ 364天”);
我正确地获得了2013年1月18日 - 但是对于我写的代码,我不需要考虑闰年,因此我希望获得2013年1月19日。
任何快速而肮脏的方法吗?
答案 0 :(得分:3)
strtotime()
将闰年考虑在内。
将strtotime("+364 days");
替换为strtotime('+1 year -1 day');
注意:并非所有人都想阅读一堆评论才能得到答案
答案 1 :(得分:0)
您还可以尝试检查年份是否跳跃,然后添加+/- 1天
<?php
function is_leap()
{
$year = date('Y');
$check = ((($year % 4) == 0) && ((($year % 100) != 0) || (($year %400) == 0)));
return $check;
}
$year = (is_leap()) : strtotime("+365 days") ? strtotime("+364 days")
?>