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设计模式 Mediator (中介者模式)
Jun 26 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
Laravel实现短信注册的示例代码
May 29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php微信公众号开发之二级菜单
Oct 20 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
python简单分割文件的方法
2015/07/30 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
python tornado修改log输出方式
2019/11/18 Python
python中with用法讲解
2020/02/07 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
Python下载的11种姿势(小结)
2020/11/18 Python
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
工商治理实习生的自我评价
2014/01/15 职场文书
高一物理教学反思
2014/01/24 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
军训自我鉴定100字
2014/02/13 职场文书
法人授权委托书格式
2014/04/08 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
谢师宴答谢词
2015/01/05 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书