【发布时间】:2012-01-24 00:09:54
【问题描述】:
因此,在 PHP 中,我试图根据一周中的同一天返回去年的日期值。 例如:(星期一)2011-12-19 输入应该返回(星期一)2010-12-20。
我只是简单地通过 -364 执行此操作,但在闰年却失败了。我遇到了另一个功能:
$newDate = $_POST['date'];
$newDate = strtotime($newDate);
$oldDate = strtotime('-1 year',$newDate);
$newDayOfWeek = date('w',$oldDate);
$oldDayOfWeek = date('w',$newDate);
$dayDiff = $oldDayOfWeek-$newDayOfWeek;
$oldDate = strtotime("$dayDiff days",$oldDate);
echo 'LAST YEAR DAY OF WEEK DATE = ' . date('Ymd', $oldDate);
但是,当您尝试输入星期日日期时,它会失败,因为它会输入 0(星期日)减去 6(去年日期的星期六),并返回值 T-6。 IE 输入 2011-12-25 会得到 2010-12-19 而不是 2011-12-26。
我很难在 php 中找到一个适用于闰年和一周中所有日子的好的解决方案。
有什么建议吗?
谢谢!
【问题讨论】: