PHP下Unix时间戳与日期互转(解决1970年前及2038年后问题)

原创 2016年05月31日 22:42:10
这个问题主要在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"); //输出-2206425952
echo '<br>';
echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00

相关文章推荐

时间戳转成日期,解决总是日期总是1970年的问题

时间戳转成日期,解决总是日期总是1970年的问题 /** * 时间戳转换为指定格式时间 * @param date 时间戳 * @param pattern 时间格式 * @ret...

PHP下Unix时间戳与日期互转(解决1970年前及2038年后问题)

这个问题主要在32位的系统下出现,64位的不存在这样的问题。php 5.2+提供了DateTime类来处理这样的问题,参考方案如下(请注意时区的处理)://1、Unix时间戳转日期function u...

php时间日期处理到2038年之后该怎么办?

也是无意之间发现的一个问题,因为php的时间处理使用UNIX时间戳,也就是他能够表示的日期范围是1970 年 1 月 1 日到 2038 年 1 月 19 日,那么超过这个范围怎么办呢?比如2039年...

PHP对于Unix时间戳的转换

常用 1.将Unix时间戳转换成类似"2012-05-12 11:09:15"的格式: date('Y-m-d H:i:s',$time); //$time的值即Unix时间戳,可能是你从数据库里...

php中UNIX时间戳转换为日期

1. UNIX时间戳转换为日期用函数: date() 一般形式:date('Y-m-d H:i:s', 1156219870); 2. 日期转换为UNIX时间戳用函数:strtotime() ...

php关于1970年前日期的处理

我在处理一篇会员注册页面时,客户要求日期从1960年开始,这样就会产生以下问题:Warning : date() [function.date ]: Windows does not suppo...
  • fzhlee
  • fzhlee
  • 2010年07月27日 15:16
  • 2131

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

利用K-means聚类算法根据经纬度坐标对中国省市进行聚类

K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进...

Radon变换理论介绍与matlab实现--经验交流

本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些。 Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平...

CT图像重建技术

由于csdn贴图不方便,并且不能上传附件,我把原文上传到了资源空间CT图像重建技术 1.引言 计算机层析成像(Computed Tomography,CT)是通过对物体进行不同角度的射线投影测量而...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP下Unix时间戳与日期互转(解决1970年前及2038年后问题)
举报原因:
原因补充:

(最多只允许输入30个字)