返回不同输出的相同功能

时间:2012-08-01 10:53:30

标签: php datetime date strtotime

嗯,这看起来很奇怪。请多多包涵。有人问过this问题。他想要上周一的日期。所以我建议

$monday=date(Y-m-d,strtotime('Monday this week'))

输出在我的localhost中是完美的。它显示2012-07-30。另一个人评论说我提到的功能不起作用。它给出的日期与

相同
$monday=date(Y-m-d,strtotime('Monday'))

即,2012-08-06。而且他不是在撒谎!他链接的在线编辑器显示下周一的日期。检查this!为什么会发生这种情况?

我搜索过,但无法理解其背后的原因。是因为旧版本的PHP?任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

介于5.2.17和5.3.10之间的问题已修复:http://viper-7.com/1PPz5m(查看粘贴历史记录)。

changelog for the 5.3.0 release中挖掘我发现了这个:

  

对“本周”,“上周”/“上周”和“下周”短语的适当支持,以便它们实际上意味着一周而不是当天的七天时间。

听起来这可能就是我的答案。基本上在5.3.0之前this week等可能会给你错误的答案,因为它会查找当前日期周一7天内的那一天,而在5.3.0及更高版本中它将被正确解释