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 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
浅谈php冒泡排序
Dec 30 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
PHP实现图片上传并压缩
Dec 22 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python回调函数用法实例分析
2015/05/09 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
大学生学期自我鉴定
2014/03/19 职场文书
学生操行评语大全
2014/04/24 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
小学教师读书笔记
2015/07/01 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android