Data non ha questo
In realtà, lo fa, ma solo indirettamente. Secondo the specification, millisecondi-Since the Epoch il valore di un oggetto Date
può essere solo nel range -8.640 mille miliardi di 8640000000000000.
Quindi la data minima è new Date(-8640000000000000)
(Mar 20 Apr -271.821 00:00:00 GMT) e la data massima è new Date(8640000000000000)
(sab, 13 set 275760 00:00:00 GMT).
Se si volesse, si potrebbe mettere quelli sulla funzione Date
come proprietà:
Date.MIN_VALUE = new Date(-8640000000000000);
Date.MAX_VALUE = new Date(8640000000000000);
... ma dal momento che Date
casi sono mutabili, probabilmente non sarei, perché è troppo facile da modificare accidentalmente uno di loro. Un'alternativa sarebbe quella di fare questo:
Object.defineProperties(Date, {
MIN_VALUE: {
value: -8640000000000000 // A number, not a date
},
MAX_VALUE: {
value: 8640000000000000
}
});
che definisce immobili in Date
che non possono essere modificati che hanno il/valore numerico massimo minimo per le date. (Su un motore JavaScript con supporto ES5.)
fonte
2014-11-23 19:17:15
Perfetto. Questo ha funzionato meravigliosamente. – Luke101
OMG, devi avere un cervello sottosopra per pensare a questo @ T.J. Crowder! C'è solo un problema con la tua risposta, cosa succede se l'anno 275760 è arrivato, cosa succederebbe? : P Ottima risposta! – evilReiko
@evilReiko: si tratta di un problema con l'oggetto Date JavaScript, non la mia risposta. **; -) ** –