当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP基于DateTime类解决Unix时间戳与日期互转问题

发布:smiling 来源: PHP粉丝网  添加日期:2018-11-14 15:20:22 浏览: 评论:0 

本文实例讲述了PHP基于DateTime类解决Unix时间戳与日期互转问题。分享给大家供大家参考,具体如下:

这个问题主要在32位的系统下出现,64位的不存在这样的问题。php 5.2+提供了DateTime类来处理这样的问题,参考方案如下(请注意时区的处理):

  1. //1、Unix时间戳转日期 
  2. function unixtime_to_date($unixtime$timezone = 'PRC') { 
  3.   $datetime = new DateTime("@$unixtime"); //DateTime类的bug,加入@可以将Unix时间戳作为参数传入 
  4.   $datetime->setTimezone(new DateTimeZone($timezone)); 
  5.   return $datetime->format("Y-m-d H:i:s"); 
  6. //2、日期转Unix时间戳 
  7. function date_to_unixtime($date$timezone = 'PRC') { 
  8.   $datetimenew DateTime($datenew DateTimeZone($timezone)); 
  9.   return $datetime->format('U');//phpfensi.com 
  10. echo date_to_unixtime("1900-1-31 00:00:00"); //输出-2206425952 
  11. echo '<br>'
  12. echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00 

Tags: DateTime Unix时间戳

分享到: