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


Posted in PHP onJune 13, 2018

本文实例讲述了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
PHP 相关文章推荐
PHP基础之运算符的使用方法
Apr 28 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
PHP数据过滤的方法
Oct 30 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
PHP单态模式简单用法示例
Nov 16 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
laravel实现前后台路由分离的方法
Oct 13 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 #PHP
php处理多图上传压缩代码功能
Jun 13 #PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 #PHP
PHP实现打包zip并下载功能
Jun 12 #PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 #PHP
PHP+redis实现的悲观锁机制示例
Jun 12 #PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 #PHP
You might like
世界收音机发展史
2021/03/01 无线电
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
Python实现的随机森林算法与简单总结
2018/01/30 Python
对Python中range()函数和list的比较
2018/04/19 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python 实现IP子网计算
2021/02/18 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
学生实习自我鉴定
2013/10/11 职场文书
金融专业应届生求职信
2013/11/02 职场文书
员工拓展培训方案
2014/02/15 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
给校长的一封检讨书
2014/09/20 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
vue实现在data里引入相对路径
2022/06/05 Vue.js