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的还是挺多的,所以这个解决方法的适用性还是挺广,希望大家能够喜欢。