2015-03-19 118 views
4

我想以时间戳的形式将日期设置为无限日期? 有人说我们可以使用“0”,有人说这样设置60 * 60 * 24 * 100这么大的价值。我不想这样做。有没有处理这个问题的适当方法。我想设置日期为时间戳形式的无限

谢谢, Dinker。

回答

11

060*60*24*100是错误的选择,因为他们是值(在1日1970年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