我想以时间戳的形式将日期设置为无限

时间:2015-03-19 10:22:22

标签: javascript date calendar timestamp unix-timestamp

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

谢谢, Dinker。

1 个答案:

答案 0 :(得分:14)

060*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