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调用Java对象的方法
Oct 09 PHP
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
JS Timing
2007/04/21 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
js控制input输入字符解析
2013/12/27 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
vue-router传参用法详解
2019/01/19 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
js 函数性能比较方法
2020/08/24 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
Python检测网站链接是否已存在
2016/04/07 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
药品质量检测应届生求职信
2013/11/14 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
说明书范文
2014/05/07 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
会计简历自我评价
2015/03/10 职场文书
清明节主题班会
2015/08/14 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
MySQL Router的安装部署
2021/04/24 MySQL
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python