gpt4 book ai didi

javascript - 为什么 JavaScript 可以处理超过 2038 年的时间戳?

转载 作者:可可西里 更新时间:2023-11-01 13:37:02 24 4
gpt4 key购买 nike

我们知道,所有使用 Javascript 日期构造函数的日期都是从 1970 年 1 月 1 日 00:00:00 世界标准时间 (UTC) 开始以毫秒为单位计算的,一天包含 86,400,000 毫秒。这意味着 JS 使用 UNIX 时间戳。我将计时器设置为 2038 年之后的日期(比如 2039 年 11 月 14 日)并运行脚本:

    <script>
var d = new Date();
alert(d.getFullYear()+" "+d.getMonth()+" "+d.getDate());
</script>

它成功地提醒 2039 10 14 不像 PHP 打印“1903 年 10 月 9 日 07:45:59”

JS 是如何处理的?感谢解释,因为我很困惑!

最佳答案

32bit PHP 使用32bit 整数,其最大值为2038 年可表示的最后一个UNIX 时间戳。即广为人知的Y2K38 problem。并影响几乎所有使用 UNIX 时间戳的 32 位软件。移动到 64 位或与其他时间戳表示一起工作的库(在 PHP 的情况下,DateTime 类)解决了这个问题。

Javascript 没有整数,只有 floats ,它没有固有的最大值(但反过来精度较低)。

关于javascript - 为什么 JavaScript 可以处理超过 2038 年的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19980578/

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