gpt4 book ai didi

perl - 为什么 perl 不能在 2038 年转换 unix 时间戳?

转载 作者:行者123 更新时间:2023-12-01 09:17:53 24 4
gpt4 key购买 nike

我正在尝试使用以下 perl 命令将纪元时间转换为可读的本地时间:

       bash-3.2$ perl -le print\ scalar\ localtime\ 32503651200
Thu Mar 9 19:13:52 1911

2038 年以下可以正确转换,但年份数大于 2038 年我无法得到预期结果。

请告知如何解决。谢谢。

最佳答案

year 2038 bug在 32 位系统上是 worked around in Perl 5.12.0 (64 位系统不受 2038 错误的影响)。我知道因为I did it (在帮助下)。 :) 只需升级您的 Perl,问题(以及许多其他问题)就解决了。

或者,使用日期库,例如 DateTime .它不依赖系统时间函数(2038 漏洞的根源),不受 y2038 漏洞的影响,并且通常更容易使用。

如果不能升级 Perl 并且必须使用localtimegmtime,可以使用Time::y2038获取不受 2038 错误影响的这些功能的版本。

关于perl - 为什么 perl 不能在 2038 年转换 unix 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39652264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com