the*_*tor 1 javascript date typescript
老实说,我不确定如何说出这个问题.基本上打开一个JavaScript控制台(节点,您的浏览器或任何地方)并尝试这样做:
Date(564018060878018050) // 'Fri Nov 23 2018 06:22:20 GMT-0800 (Pacific Standard Time)'
new Date(564018060878018050) // <-- Invalid Date
Run Code Online (Sandbox Code Playgroud)
我不知道为什么第一个有效,第二个没有.还有另一种解析方法吗?我正试图远离使用库.
规格说:
ECMAScript日期对象支持的实际时间范围是相对于UTC时间1970年1月1日午夜测量的-100,000,000天到100,000,000天.这给UTC时间1970年1月1日的任何一方提供了8,640,000,000,000,000毫秒的范围.
有效范围远小于您使用的值(564,018,060,878,018,050).
如果abs(时间)> 8.64×10 15,则返回NaN.
这解释了为什么new Date(564018060878018050)产生无效日期.
至于Date(564018060878018050)规格说:
...在不使用new的情况下调用构造函数会产生依赖于构造函数的后果.例如,Date()生成当前日期和时间的字符串表示,而不是对象.
所以Date(value)应该将当前日期作为字符串而不是日期返回.
> Date(564018060878018050) === (new Date()).toString()
< true
> typeof Date(564018060878018050)
< "string"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |