php 时间戳 最大,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解决

复制代码 代码如下:

$date = '2090-10-01';

$datetime = new DateTime($date);

echo '

正常时间: ', $datetime->format('Y-m-d H:i'), '

';

echo '

时间溢出: ', date('Y-m-d H:i', strtotime($date)), '

';

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

时间: 2015-02-28

前言 最近在写一个项目接口.测试中发现服务器上测试正常的功能,在本地一直有问题.一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败. 相同代码运行结果不一样,原因那就是环境不一致导致.要么是PHP版本不同,要么是位数不同. 我电脑是64位的.这里是PHP位数不一致,服务器使用64位,而我本地是32位.而strtotime被传入了一个字符串2050-1-1 23:59:59,该参数大于了2038-1-19 03:14:07所以在32位PHP下直接返


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部