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

Din*_*ddy 7 javascript timestamp calendar date unix-timestamp

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

谢谢,丁克.

joe*_*ews 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
Run Code Online (Sandbox Code Playgroud)

但是,如果您需要转换为Date:

new Date(Infinity)
// Invalid Date
Run Code Online (Sandbox Code Playgroud)

如果您还需要Date为时间戳构建一个,则可能的最大时间戳是8640000000000000- 请参阅最小和最大日期.

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
Run Code Online (Sandbox Code Playgroud)