首页 > 语言 > PHP > 正文

PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】

2024-05-05 00:04:10
字体:
来源:转载
供稿:网友

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

这个问题主要在32位的系统下出现,64位的不存在这样的问题。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"); //输出-2206425952echo '<br>';echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00
 


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选