Date does not have this
Actually, it does, but only indirectly. According to the specification, a Date
object's milliseconds-since-the-Epoch value can only be in the range -8640000000000000 to 8640000000000000.
So the minimum date is new Date(-8640000000000000)
(Tue, 20 Apr -271821 00:00:00 GMT), and the maximum date is new Date(8640000000000000)
(Sat, 13 Sep 275760 00:00:00 GMT).
If you wanted, you could put those on the Date
function as properties:
Date.MIN_VALUE = new Date(-8640000000000000);
Date.MAX_VALUE = new Date(8640000000000000);
...but since Date
instances are mutable, I probably wouldn't, because it's too easy to accidentally modify one of them. An alternative would be to do this:
Object.defineProperties(Date, {
MIN_VALUE: {
value: -8640000000000000 // A number, not a date
},
MAX_VALUE: {
value: 8640000000000000
}
});
That defines properties on Date
that cannot be changed that have the min/max numeric value for dates. (On a JavaScript engine that has ES5 support.)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…