php strtotime “last Monday” 如果今天是星期一?
我想使用 .strtotime("last Monday")
问题是,如果今天是星期一,它会返回什么?它似乎正在返回上周一的日期。在这种情况下,如何使其返回今天的日期?
我想使用 .strtotime("last Monday")
问题是,如果今天是星期一,它会返回什么?它似乎正在返回上周一的日期。在这种情况下,如何使其返回今天的日期?
如果您阅读了该手册,就会发现一个很好的例子,它准确地描述了您要做什么 http://www.php.net/manual/en/datetime.formats.relative.php
strtotime('Monday this week');
更新:在较新版本的PHP中似乎引入了一个错误,即在星期日运行时返回错误的一周。你可以在这里对这个错误进行投票:https://bugs.php.net/bug.php?id=63740this week
更新 2:自 2016 年 5 月 18 日起,此问题已在 PHP 5.6.22、PHP 7.0.7 和 PHP 7.1-dev 中得到修复(希望在后续版本中保持不变),如下所示:https://bugs.php.net/bug.php?id=63740#1463570467
在这种情况下,如何使其返回今天的日期?
伪代码:
if (today == monday)
return today;
else
return strtotime(...);
顺便说一句,这个技巧也可以工作:
strtotime('last monday', strtotime('tomorrow'));