• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】

    本文实例讲述了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
    
    

    PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

    在线日期/天数计算器:
    http://tools.jb51.net/jisuanqi/date_jisuanqi

    在线日期计算器/相差天数计算器:
    http://tools.jb51.net/jisuanqi/datecalc

    在线日期天数差计算器:
    http://tools.jb51.net/jisuanqi/onlinedatejsq

    Unix时间戳(timestamp)转换工具:
    http://tools.jb51.net/code/unixtime

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • php日期转时间戳,指定日期转换成时间戳
    • PHP中UNIX时间戳和日期间的转换与计算实例
    • PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
    • 解析php时间戳与日期的转换
    • PHP正则匹配日期和时间(时间戳转换)的实例代码
    • PHP时间戳与日期之间转换的实例介绍
    • php根据日期或时间戳获取星座信息和生肖等信息
    • PHP时间戳和日期相互转换操作实例小结
    上一篇:php中html_entity_decode实现HTML实体转义
    下一篇:thinkphp5.1 文件引入路径问题及注意事项
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】 PHP,基于,DateTime,类,解决,