例如,如果我在javascript中将日期存储为serial number,则日期"2014-01-01"
将存储为41640
。"2014-01-01 12:00:00"
将存储为{{ 1}}等。
如果我们允许微秒精度(而不是像当前Javascript date对象那样具有毫秒精度),那么使用javascript Number可以存储的最大日期是多少?
答案 0 :(得分:2)
一天中有24 * 3600 * 10 ^ 6μs,要准确地存储此值86400000000 = 0x141DD76000,一个需要37位。
尾数中有52 + 1位。因此,您还有16位可用来编码日期。这允许编码〜2 ^ 16/365 = 179年零201天。由于参考值大约是1900年,因此我们还必须考虑the年:24(1900-1999)+20(2000-2079)= 48个leap年。
由于参考日期恰好是1899年12月30日,因此在20178年12月30日+(201-48)天达到了编码限制,该日期对应于2079年6月2日。
此后,编码将继续准确性下降,并且在微秒内将不精确。