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 14 PHP
dedecms中常见问题修改方法总结
Mar 21 PHP
php 数组的创建、调用和更新实现代码
Mar 09 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
PHP7匿名类用法分析
Sep 26 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
基于PHP实现用户在线状态检测
Nov 10 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
动态新闻发布的实现及其技巧
2006/10/09 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
vue实现计算器功能
2020/02/22 Javascript
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
PHP笔试题
2012/02/22 面试题
函授毕业生的自我鉴定
2013/11/26 职场文书
先进班级集体事迹材料
2014/01/30 职场文书
春节联欢会主持词
2014/03/24 职场文书
上诉状格式
2015/05/23 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
python 下划线的多种应用场景总结
2021/05/12 Python
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python