Javascript中允许的日期范围是什么?
Javascript中的Javascript中允许的日期范围是什么?,javascript,datetime,Javascript,Datetime,Javascript中的date对象可以使用的最大和最小日期是多少 是否可以表示古代历史日期(如公元前2500年1月1日)或遥远的未来日期(如10000年10月7日) 如果这些远离当前日期的日期不能用Date对象表示,我应该如何表示它们 自UTC 1970年1月1日起,时间以ECMAScript为单位,以毫秒为单位。 … ECMAScript日期对象支持的实际时间范围是。。。准确地说,–相对于UTC 1970年1月1日开始时的午夜测量100000000天到100000000天。这使得UTC 19
date
对象可以使用的最大和最小日期是多少
是否可以表示古代历史日期(如公元前2500年1月1日)或遥远的未来日期(如10000年10月7日)
如果这些远离当前日期的日期不能用Date
对象表示,我应该如何表示它们
自UTC 1970年1月1日起,时间以ECMAScript为单位,以毫秒为单位。…
ECMAScript日期对象支持的实际时间范围是。。。准确地说,–相对于UTC 1970年1月1日开始时的午夜测量100000000天到100000000天。这使得UTC 1970年1月1日任一侧的范围为8640000000000000毫秒 因此,用
日期
对象表示的最早日期远远超出了已知的人类历史:
new Date(-8640000000000000).toUTCString()
// Tue, 20 Apr 271,822 B.C. 00:00:00 UTC
最新的日期足以持续超过甚至超过100K日元,但需要在Y276K之前几百年进行修改
new Date(8640000000000000).toUTCString()
// Sat, 13 Sep 275,760 00:00:00 UTC
超出此范围的任何日期都将返回无效日期
new Date(8640000000000001) // Invalid Date
new Date(-8640000000000001) // Invalid Date
简而言之,JavaScript
Date
类型将足以在1970年1月1日之前或之后大约285616年内测量毫秒精度的时间。问题中公布的日期完全在这个范围内。那么,当你已经知道这些距离现在很远的日期可以被表示时,问“如果这些日期不能被表示…”又有什么意义呢?如果你知道这个问题没有意义,为什么要提出这个问题P@user1689607我不知道,没有它这个问题就觉得不完整。嗯,不管怎样,这是一个有趣的问题。很高兴看到JS没有2038年的问题。我相信过去的日期有错误。这是我得到的新日期(-8640000000000000)。ToutString()=“4月20日星期二-271821 00:00:00 GMT”@Rohit请注意结尾处的1
<代码>新日期(-8640000000000001)是无效日期
,而新日期(-864000000000000)
是您得到的日期,即最早的有效日期。