PHP中大于2038年时间戳的问题处理方案
PHP有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。
64位系统就不会受影响了,如果在32系统可以使用new DateTime解决
复制代码 代码如下:
$date = '2090-10-01';
$datetime = new DateTime($date);
echo '<p>正常时间: ', $datetime->format('Y-m-d H:i'), '</p>';
echo '<p>时间溢出: ', date('Y-m-d H:i', strtotime($date)), '<p>';
由于现在服务器中使用win2003的还是挺多的,所以这个解决方法的适用性还是挺广,希望大家能够喜欢。