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 读取文件乱码问题
Feb 20 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
PHP生成二维码的两个方法和实例
Jul 01 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
PHP目录操作实例总结
Sep 27 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 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
多个PHP中文字符串截取函数
2013/11/12 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
解决layui laydate 时间控件一闪而过的问题
2019/09/28 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
python3编写C/S网络程序实例教程
2014/08/25 Python
详解Python中的Cookie模块使用
2015/07/06 Python
python的re正则表达式实例代码
2018/01/24 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python中extend和append的区别讲解
2019/01/24 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
PHP统计代码行数的小代码
2019/09/19 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
长安大学毕业生自我鉴定
2014/01/17 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
班组拓展活动方案
2014/08/14 职场文书
医院合作协议书
2014/08/19 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python
处理canvas绘制图片模糊问题
2022/05/11 Javascript