我想以时间戳的形式将日期设置为无限日期? 有人说我们可以使用“0”,有些人说这样设置大值60 * 60 * 24 * 100。而且我不想这样做。有没有合适的方法来处理这个问题。
谢谢, Dinker。
答案 0 :(得分:14)
0
和60*60*24*100
是糟糕的选择,因为它们是小值(在1970年1月1日的前几个小时内)。
如果您只需要将时间戳作为数字来处理,请使用Infinity
。它具有我认为你需要的属性:
Infinity > Date.now()
// true
Infinity > 60*60*24*100
// true
Infinity > Number.MAX_VALUE
// true
但是,如果您需要转换为Date
new Date(Infinity)
// Invalid Date
如果您还需要为时间戳构建Date
,则可能的最大时间戳为8640000000000000
- 请参阅Minimum and maximum date。
var MAX_TIMESTAMP = 8640000000000000;
new Date(MAX_TIMESTAMP)
// Sat Sep 13 275760 01:00:00 GMT+0100 (BST)
new Date(MAX_TIMESTAMP + 1)
// Invalid Date