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

 更新时间:2018年06月13日 08:59:36   作者:神奇网络  
这篇文章主要介绍了PHP基于DateTime类解决Unix时间戳与日期互转问题,通过DateTime类解决1970年前及2038年后时间戳显示与计算问题,非常简单实用,代码中备有较为详尽的注释便于理解,需要的朋友可以参考下

本文实例讲述了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"); //输出-2206425952
echo '<br>';
echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php数组相加 array(“a”)+array(“b”)结果还是array(“a”)

    php数组相加 array(“a”)+array(“b”)结果还是array(“a”)

    同一个数组里面如果有相同的键名,则前面一个键名的值将会被覆盖(overwritten)
    2012-09-09
  • php对图像的各种处理函数代码小结

    php对图像的各种处理函数代码小结

    这篇文章主要介绍了php的图片处理实现代码,包括缩放、剪裁、缩放、翻转、旋转、透明、锐化等图片操作,需要的朋友可以参考下
    2013-07-07
  • 使用PHPStorm+XDebug搭建单步调试环境

    使用PHPStorm+XDebug搭建单步调试环境

    由于 PhpStorm 不像 Zend 公司为 Zend Studio 那样配套集成了很多开发部件,包括解释器、调试器、虚拟机、服务器、开发框架等等。因此,配置 PhpStorm 开发环境相对较繁琐,有很多需要注意的地方。
    2017-11-11
  • PHP安全配置

    PHP安全配置

    PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽
    2006-12-12
  • PHP使用PDO实现mysql防注入功能详解

    PHP使用PDO实现mysql防注入功能详解

    这篇文章主要介绍了PHP使用PDO实现mysql防注入功能,结合实例形式详细分析了PHP使用pdo操作mysql防注入原理、实现方法及相关注意事项,需要的朋友可以参考下
    2019-12-12
  • Thinkphp结合ajaxFileUpload实现异步图片传输示例

    Thinkphp结合ajaxFileUpload实现异步图片传输示例

    这篇文章主要给大家介绍了利用Thinkphp结合ajaxFileUpload实现异步图片传输的方法,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • PHP利用MySQL保存session的实现思路及示例代码

    PHP利用MySQL保存session的实现思路及示例代码

    使用MySQL保存session,需要保存三个关键性的数据:session id、session数据、session生命期,下面的示例,大家可以看看
    2014-09-09
  • php中使用sftp教程

    php中使用sftp教程

    这篇文章主要介绍了php中使用sftp教程,本文讲解了ftp 协议简介、ssh协议、sftp 协议等知识,并给出了FTP和SFTP操作类实现代码,需要的朋友可以参考下
    2015-03-03
  • ThinkPHP 模板引擎使用详解

    ThinkPHP 模板引擎使用详解

    thinkphp系统支持原生的PHP模板,而且本身内置了一个基于XML的高效的编译型模板引擎,系统默认使用的模板引擎是内置模板引擎,关于这个模板引擎的标签详细使用可以参考模版引擎部分。
    2017-05-05
  • PHP 开发环境配置(测试开发环境)

    PHP 开发环境配置(测试开发环境)

    PHP发开环境配置(测试开发环境),测试环境是否配置的正确。
    2010-04-04

最新评论