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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
PHP cron中的批处理
Sep 16 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
PHP原生函数一定好吗?
Dec 08 PHP
php文件上传类完整实例
May 14 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 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用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP运行模式汇总
2016/11/06 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
JSONP之我见
2015/03/24 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
Python 连连看连接算法
2008/11/22 Python
python中使用序列的方法
2015/08/03 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
python的pip安装以及使用教程
2018/09/18 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
总经理职责范文
2013/11/08 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
校园广播稿100字
2014/10/06 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python