PHP中大于2038年时间戳的问题处理方案

这篇文章主要介绍了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解决,代码如下:

  1. $date = '2090-10-01';
  2. $datetime = new DateTime($date);
  3. echo '<p>正常时间: ', $datetime->format('Y-m-d H:i'), '</p>';
  4. echo '<p>时间溢出: ', date('Y-m-d H:i', strtotime($date)), '<p>';

由于现在服务器中使用win2003的还是挺多的,所以这个解决方法的适用性还是挺广,希望大家能够喜欢。