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安装全攻略:APACHE
Oct 09 PHP
php xml 入门学习资料
Jan 01 PHP
fleaphp rolesNameField bug解决方法
Apr 23 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHP延迟静态绑定的深入讲解
Apr 02 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
php设计模式之工厂模式用法经典实例分析
Sep 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 命令行参数详解及应用
2011/05/18 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
学习并汇集javascript匿名函数
2010/11/25 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
js实现div色块碰撞
2020/01/16 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python中update的基本使用方法详解
2019/07/17 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
英语专业学子个人的自我评价
2013/10/02 职场文书
个人工作表现自我评价
2015/03/06 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2015年服务员工作总结
2015/04/08 职场文书
2015年商场工作总结
2015/04/27 职场文书
原告代理词范文
2015/05/25 职场文书
天堂的孩子观后感
2015/06/11 职场文书
校园新闻稿范文
2015/07/18 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
MySQL存储过程及语法详解
2022/08/05 MySQL