PHPIN.NET

 找回密码
 立即注册
查看: 5638|回复: 0

[PHP类\函数] PHP对于小于1970年大于2038年的时间戳的处理

[复制链接]

469

主题

31

回帖

5563

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5563
发表于 2016-5-12 13:51:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
(32位)PHP对于小于1970年大于2038年的时间戳的处理函数,代码如下:
  1. function unixtime_to_date($unixtime, $timezone = 'PRC') {
  2.     $datetime = new DateTime("@$unixtime"); //DateTime类的bug,加入@可以将Unix时间戳作为参数传入
  3.     $datetime->setTimezone(new DateTimeZone($timezone));
  4.     return $datetime->format("Y-m-d H:i:s");
  5. }
  6. function date_to_unixtime($date, $timezone = 'PRC') {
  7.     $datetime= new DateTime($date, new DateTimeZone($timezone));
  8.     return $datetime->format('U');
  9. }
  10. echo '小于1970年的:'.unixtime_to_date(date_to_unixtime('1500-1-1 00:00:00') -1).'<br>';

  11. echo '大于2038年的:'.unixtime_to_date(date_to_unixtime('2100-1-1 00:00:00') -1);
复制代码


64位PHP无此问题

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-9-8 11:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表