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 Baker 所提到的,使用 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/ 了解更多信息。
php中strtotime()方法返回的时间戳大小是多少?我猜它可能是 32 位的。有什么方法可以从 php 中的 strtotime('now') 获取 64 位时间戳?
取决于您使用的 PHP 架构。 32 位 PHP = 32 位时间戳,64 位 PHP = 64 位时间戳。
不考虑架构的建议解决方案
正如 Mark Baker 所提到的,使用 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/ 了解更多信息。