【发布时间】:2015-08-11 13:54:46
【问题描述】:
php中strtotime()方法返回的时间戳大小是多少?我猜它可能是32位。有什么方法可以从 php 中的 strtotime('now') 获取 64 位时间戳?
【问题讨论】:
标签: php unix-timestamp
php中strtotime()方法返回的时间戳大小是多少?我猜它可能是32位。有什么方法可以从 php 中的 strtotime('now') 获取 64 位时间戳?
【问题讨论】:
标签: php unix-timestamp
取决于您使用的 PHP 架构。 32 位 PHP = 32 位时间戳,64 位 PHP = 64 位时间戳。
不考虑架构的建议解决方案
正如 Mark Baker 所说,使用 DateTime 对象是更安全的选择。这避免了使用架构检测并提供了过多的功能。
【讨论】:
我的理解是它将与您所在的系统匹配(显然,如果您使用的是 PHP 64 位二进制文件);因此,如果您使用的是 32 位系统,它将是 32 和 64 位相同。
即
strtotime("0000-00-00 00:00:00") 在 32 位系统上返回 FALSE。
strtotime("0000-00-00 00:00:00") 在 64 位系统上返回 -62169955200。
对于大于 2038 年的日期,情况相同。有关更多信息,请参阅 http://www.sitepoint.com/is-your-php-application-affected-by-the-y2k38-bug/。
【讨论】: