PHP 2038 年不是错误?
PHP Year 2038 Not a Bug?
我是 PHP 的新手,从我正在阅读的书中,我意识到有一个 2038 年的问题,它指出当我使用时间戳时,我可以到达的最远日期是 1 月 19 日, 2038. 为了克服这个限制,我建议使用 dateTime 对象。但是,当我在 PHP 中测试它时(将 MAMP 与 PHP 5.6.6 一起使用),似乎即使我在更大的日期上使用时间戳,它也能完美运行。
例如,注意下面的代码:
<?php
$date1_timestamp = mktime(13, 30, 0, 1, 12, 2049);
$date1 = date('Y-m-d H:i:s', $date1_timestamp);
echo $date1; // output: 2049-01-12 13:30:00
?>
我想问一下为什么我的PHP服务器没有遇到2038年的问题?为什么能输出正确的值?时间戳不可能有这么大的价值吧?
这只是 PHP 的 32 位版本的问题,您可能 运行 64 位版本能够解决更多的毫秒数,因此表示时间戳未来比 2038 年更有价值。
我是 PHP 的新手,从我正在阅读的书中,我意识到有一个 2038 年的问题,它指出当我使用时间戳时,我可以到达的最远日期是 1 月 19 日, 2038. 为了克服这个限制,我建议使用 dateTime 对象。但是,当我在 PHP 中测试它时(将 MAMP 与 PHP 5.6.6 一起使用),似乎即使我在更大的日期上使用时间戳,它也能完美运行。
例如,注意下面的代码:
<?php
$date1_timestamp = mktime(13, 30, 0, 1, 12, 2049);
$date1 = date('Y-m-d H:i:s', $date1_timestamp);
echo $date1; // output: 2049-01-12 13:30:00
?>
我想问一下为什么我的PHP服务器没有遇到2038年的问题?为什么能输出正确的值?时间戳不可能有这么大的价值吧?
这只是 PHP 的 32 位版本的问题,您可能 运行 64 位版本能够解决更多的毫秒数,因此表示时间戳未来比 2038 年更有价值。