PHP strtotime 在我的本地计算机上工作但在服务器上失败

发布于 2025-01-06 12:26:28 字数 258 浏览 0 评论 0原文

var_dump(strtotime("2012-W07 Monday")); 

在我的本地计算机(PHP 版本 5.3.4)上返回 int 1329170400 但在服务器(PHP 版本 5.1.6)上它返回

布尔值(假)

一些其他格式,如“today”、“now”等,可以在双方正常工作。是因为php版本的问题,还是其他什么问题?

var_dump(strtotime("2012-W07 Monday")); 

returns int 1329170400 on my local computer (PHP Version 5.3.4) but on the server (PHP Version 5.1.6) it returns

bool(false)

Some other formats like "today", "now" etc. work properly on both sides. Is it because of php versions, or what else could be wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紙鸢 2025-01-13 12:26:28

我希望这与一个小的功能改进或一个修复的错误有关。
并非所有更新/错误修复都会出现在 PHP 文档中。

我会为您测试一下,但没有低于 5.3.1 的可用安装。

我认为你最好的选择是在某个地方获取默认的 PHP 5.1.6 并在本地计算机或另一台服务器上进行测试。我敢打赌,它也会在那里失败。

I would expect this to be related to a minor feature improvement or a fixed bug.
Not all updates/bugfixes make it to the PHP docs.

I would test it for you, but don't have an install lower than 5.3.1 available.

I think your best bet would be to somewhere grab a default PHP 5.1.6 and test on your local machine or another server. My bet is that it would fail there as well.

居里长安 2025-01-13 12:26:28

您可以将 'YYYY-MM-DD' 格式与 strtotime() 一起使用,并且此格式应该适用于所有版本。

为了获得最稳定的行为,我建议仅将广泛使用的日期时间格式传递给 strtotime()。请注意,strtotime() 期望以 '/' 分隔的日期采用 'MM/DD/YYYY' 格式,这是美国的日期顺序。欧洲使用不同顺序,以'/'分隔。

You can use 'YYYY-MM-DD' format with strtotime() and this format should work in all versions.

For the most stable behavior, I recomend passing only widely-used date-time formats to strtotime(). Be aware strtotime() expects a date separated by '/' to be in 'MM/DD/YYYY' format, which is the American order for dates. Europe uses a different order separated by '/'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文