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 相关文章推荐
Zend Studio 无法启动的问题解决方法
Dec 04 PHP
php google或baidu分页代码
Nov 26 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
php处理json格式数据经典案例总结
May 19 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
laravel-admin自动生成模块,及相关基础配置方法
Oct 08 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 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删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
js DOM模型操作
2009/12/28 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
对python中各个response的使用说明
2020/03/28 Python
如何在sublime编辑器中安装python
2020/05/20 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
销售类个人求职信范文
2013/09/25 职场文书
求职自荐信
2013/12/14 职场文书
中学生家长评语大全
2014/04/16 职场文书
求职信标题怎么写
2014/05/26 职场文书
质量标语大全
2014/06/12 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
中学生逃课检讨书
2015/02/17 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android