PHP对于小于1970年大于2038年的时间戳的处理
(32位)PHP对于小于1970年大于2038年的时间戳的处理函数,代码如下:function unixtime_to_date($unixtime, $timezone = 'PRC') {
$datetime = new DateTime("@$unixtime"); //DateTime类的bug,加入@可以将Unix时间戳作为参数传入
$datetime->setTimezone(new DateTimeZone($timezone));
return $datetime->format("Y-m-d H:i:s");
}
function date_to_unixtime($date, $timezone = 'PRC') {
$datetime= new DateTime($date, new DateTimeZone($timezone));
return $datetime->format('U');
}
echo '小于1970年的:'.unixtime_to_date(date_to_unixtime('1500-1-1 00:00:00') -1).'<br>';
echo '大于2038年的:'.unixtime_to_date(date_to_unixtime('2100-1-1 00:00:00') -1);
64位PHP无此问题
页:
[1]