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分页函数
Oct 09 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
PHP json_decode函数详细解析
Feb 17 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
Yii中表单用法实例详解
Jan 05 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
php中数组最简单的使用方法
Dec 27 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获取网页请求状态程序示例
2014/06/17 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
php依赖注入知识点详解
2019/09/23 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
Python爬虫教程知识点总结
2020/10/19 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
教师远程研修感悟
2015/11/18 职场文书
2016年党建工作简报
2015/11/26 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js