158 votes

Date minimale et maximale

Je me demandais ce qui est le minimum et le maximum autorisé pour un Javascript Date objet. J'ai trouvé que la date minimale est quelque chose comme 200000 b.C., mais je ne pouvais pas faire référence à ce sujet.

Personne ne sait la réponse? J'espère juste qu'il ne dépend pas du navigateur.

Une réponse à "l'époque" (= nombre de millisecondes à partir de 1970-01-01 00:00:00 UTC+00) serait le meilleur.

195voto

T.J. Crowder Points 285826

À partir de la spécification, §15.9.1.1:

Un objet Date, contient un Nombre indiquant un moment particulier dans le temps à moins d'une milliseconde. Un tel Nombre est appelé une valeur de temps. Une valeur de temps peut également être NaN, indiquant que l'objet Date ne représente pas un instant spécifique de temps.

Le temps est mesuré en ECMAScript en millisecondes écoulées depuis le 01 janvier 1970 UTC. Dans le temps des valeurs des secondes intercalaires sont ignorés. Il est supposé qu'il y a exactement 86,400,000 millisecondes par jour. ECMAScript Nombre de valeurs peuvent représenter tous les entiers de -9,007,199,254,740,992 à 9,007,199,254,740,992; cette gamme suffit de mesurer les temps de la précision à la milliseconde pour n'importe quel instant dans un délai d'environ 285,616 ans, que ce soit en avant ou en arrière, à partir du 01 janvier 1970 UTC.

La portée réelle de fois pris en charge par ECMAScript Date d'objets est légèrement plus petit: exactement -100,000,000 jours à 100.000.000 jours mesurée par rapport à minuit au début du 01 janvier 1970 UTC. Cela donne une gamme de 8,640,000,000,000,000 millisecondes de chaque côté du 01 janvier 1970 UTC.

Le moment exact de minuit au début du 01 janvier 1970 UTC est représenté par la valeur +0.

Le troisième point étant le plus pertinent. Basé sur ce paragraphe, nous pouvons obtenir le précis de la date la plus tôt par spec de new Date(-8640000000000000), soit le mardi, le 20 avril, 271,821 BCE.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X