关于PHP转换高出2038年日期堕落的题目办理
媒介最近在写一个项目接口。测试中发明处事器上测试正常的成果,在当地一向有题目。一步步的排查,最终锁定题目是因为函数 沟通代码运行功效纷歧样,缘故起因那就是情形纷歧致导致。要么是PHP版本差异,要么是位数差异。 我电脑是64位的。这里是PHP位数纷歧致,处事器行使64位,而我当地是32位。而 Y2K38裂痕导致上述题目的基础缘故起因就是 32位体系或PHP此裂痕将会影响到全部 32 位体系下用UNIX 时刻戳整数来记录时刻的 PHP,及其余编程说话。一个整型的变量所能生涯的最大时刻为 64位体系或PHP64位体系下可以生涯的日期最远日期是此刻宇宙年数的21倍——292亿年。以是不会受到该裂痕影响。 怎样检测怎样知道你的体系是否收到该裂痕的影响。很简朴,直接行使 下面详细演示一下 要领一上面功效假如返回2050-12-31 23:59:59那么就没有题目。假如返回1914-11-25 09:31:43那么就受收到影响。 要领二上面功效假如返回 办理方案方案一改换体系和PHP均为64位。这个价钱较量大,可是可以永世办理题目。 方案二PHP5.2版本之后提供了一个函数 // 2、时刻戳转换为日期字符串 // 并且DateTime还可以有其他玩法 通过 总结以上就是这篇文章的所有内容了,但愿本文的内容对各人的进修可能事变能带来必然的辅佐,假若有疑问各人可以留言交换,感谢各人对编程之家的支持。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |