Objet Date en JavaScript, accéder aux mois, jours...
Une date est un objet dont la base est un nombre de milliseconde et qui s'affiche dans plusieurs formats par conversion des millisecondes en année, mois, jours...
La version JavaScript 1.3 à uniformisé et étendu les possibilités de l'objet. Elle est reconnue par tous les navigateurs mêmes anciens.
Un objet Date se crée par l'appel d'un constructeur dont le format est le suivant:
new Date()
new Date(millisecondes)
new Date(année, mois, jour [, heure, minutes, secondes, millisecondes]) // les arguments sont des nombres entiers
new Date(texte) // une chaîne représentant une date
S'il n'y a pas d'argument, l'objet correspond au jour et à l'heure lors de la création de l'objet.
Dans le cas ou l'argument est une date sous forme de texte, son format
devra être reconnu par la méthode Date.parse.
Par exemple:
Apr 16, 2008
La méthode parse reconnaîtra aussi le format IETF, comme:
Mon, 16 Apr 2008 12:20:05 GMT
Le nombre de milliseconde est relatif au 1 janvier 1970. On utilise les millisecondes pour les durées, mais il est préférable d'utiliser des dates autrement.
Les formats UTC et GMT sont reconnus
GMT signifie Greenwich Mean Time, temps moyen de Greenwich. C'est le temps solaire mesuré à l'observatoire de Greenwich en Angleterre.
UTC signifie Coordinated universal time, soit temps universel coordonné. C'est l'unité standard internationale qui succède à GMT, et qui est basée sur le temps atomique plutôt que sur la rotation de la terre. Il est défini par la norme ISO 8601
Calcul de la différence entre deux dates
L'objet Date supporte les opérations arithmétiques. Dans la pratique, on utilise surtout la soustraction pour connaître la durée qui sépare deux dates.
<script>
var debut = new Date(1000, 01, 01);
var fin = new Date(2011, 10, 15);
var diff = new Number((fin.getTime() - debut.getTime()) / 31536000000).toFixed(0);
document.write(diff);
</script>
Formule simple pour connaître la date du jour
Elle s'obtient par la création d'un objet Date sans argument. Par exemple avec le script suivant
<script type="text/javascript">
document.write(new Date());
</script>
Ce qui affiche:
Et le jour de la semaine
On affiche le jour de la semaine avec un tableau et noms et la méthode getDay() qui retourne le numéro à partir de 1.
<script type="text/javascript">
var j = new Array( "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche" );
var d = new Date();
document.write(j[d.getDay() - 1]);
</script>
Les équivalents anglais de lundi à dimanche sont:
Monday, Tuesday, Wednesday, Thursday, Friday, Sunday, Saturday.
Les raccourcis sont: Mon, Tue, Wed, Thu, Fri, Sun, Sat.