php 如何处理 1970前时间 时间戳失效了

php 如何处理 1970前时间 时间戳失效了
最新回答
东城冷人

2026-03-18 22:20:02

php 5.2+提供了DateTime类来处理这样的问题,参考方案如下(请注意时区的处理):  

//1、Unix时间戳转日期  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");  }  
  
//2、日期转Unix时间戳  
function date_to_unixtime($date, $timezone = 'PRC') {  
    $datetime= new DateTime($date, new DateTimeZone($timezone));  
    return $datetime->format('U');  
}  
  
echo date_to_unixtime("1900-1-31 00:00:00"); //输出-2206425952  
echo '<br>';  
echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00