在尝试使 2038 年的 unix_timestamps 更大时,我遇到了 PHP 函数mktime的问题。我有 64 位操作系统。
服务器上的 PHP 版本:
php -v
提供 PHP 5.1.6 (cli)(构建时间:2010 年 11 月 29 日 16:47:46)
php -r 'echo PHP_INT_MAX;'
给 9223372036854775807
但
php -r 'var_dump( mktime(0, 0, 0, 4, 1, 2099) );'
给出布尔(假)
在开发服务器上
php -r 'var_dump( mktime(0, 0, 0, 4, 1, 2099) );'
给出 int(4078677600)
这个 PHP 函数在 64 位系统上无法正常工作的原因可能是什么?strtotime也不适用于年份大于 2038 的日期