您的位置:首页 > 编程语言 > PHP开发

php解决时间超过2038年

2016-06-01 20:40 447 查看
问题 超过2038年的时间 php怎么处理?

echo date('Y-m-d',2147483647); //date函数能处理的最大整数2147483647 -》2038-01-19


  就是2的31次方-1得到2147483647,如果超过了这个值怎么办? 如果还是使用date这个函数会乱掉。

解决方案:使用DateTime类

$d = new DateTime('@2147493648');
$d->setTimeZone(new DateTimeZone('PRC'));
echo $d->format('Y-m-d H:i:s'); //2038-01-19 14:00:48

echo "<hr/>";

//反过来,把年月日转换为整数
date_default_timezone_set('PRC');
$d = new DateTime('2038-01-19 14:00:48');
echo $d->format('U'); // 2147493648

echo "<hr/>";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: