strtotime 在 php 中返回的时间戳大小

size of timestamp returned by strtotime in php

php中strtotime()方法返回的时间戳大小是多少?我猜它可能是 32 位的。有什么方法可以从 php 中的 strtotime('now') 获取 64 位时间戳?

取决于您使用的 PHP 架构。 32 位 PHP = 32 位时间戳,64 位 PHP = 64 位时间戳。

不考虑架构的建议解决方案

正如 Mark Ba​​ker 所提到的,使用 DateTime 对象是一个更安全的选择。这避免了架构检测的使用,并提供了过多的功能。

我的理解是它会匹配您所在的系统(如果您使用的是 PHP 64 位二进制文​​件,显然);因此,如果您使用的是 32 位系统,它将是 32 位,64 位也是如此。

strtotime("0000-00-00 00:00:00") returns 在 32 位系统上为 FALSE。

strtotime("0000-00-00 00:00:00") returns -62169955200 在 64 位系统上。

对于大于 2038 年的日期,情况相同。请参阅 http://www.sitepoint.com/is-your-php-application-affected-by-the-y2k38-bug/ 了解更多信息。