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的日期与时间函数技巧
Apr 24 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
PHP 时间日期操作实战
Aug 26 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
Smarty环境配置与使用入门教程
May 11 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
PHP/HTML混写的四种方式总结
Feb 27 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 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
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
javascript 写类方式之八
2009/07/05 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python创建日历实例
2014/08/21 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
Python安装Bs4的多种方法
2020/11/28 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
产品开发计划书
2014/04/27 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
单位实习鉴定评语
2015/01/04 职场文书
求职意向书范本
2015/05/11 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server