如果我将日期存储为 serial number例如,在 javascript 中,日期 "2014-01-01"
将存储为 41640
., "2014-01-01 12:00:00 “
将存储为 41640.5
等。
如果我们允许微秒精度(而不是毫秒精度,就像当前的 Javascript 日期对象那样),那么使用 javascript Number 可以存储的最大日期是多少?
最佳答案
一天有24*3600*10^6 μs,要准确存储86400000000=0x141DD76000这个值,需要37位。
尾数有52+1位。所以当天您还剩下 16 位来编码。这允许编码 ~2^16/365=179 年零 201 天。由于引用的是1900年左右,我们还必须考虑闰年:24(1900-1999)+20(2000-2079)=48个闰年。
由于引用日期恰好是 1899 年 12 月 30 日,因此在 2178 年 12 月 30 日 + (201-48) 天(相当于 2079 年 6 月 2 日)达到了编码限制。
此后,编码将继续,但精度会有所损失,并且不会精确到微秒。
关于javascript - 在 JavaScript 中使用微秒精度的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553152/