L'OBJET DATE


Date est un objet javascript contenant un nombre qui indique en millisecondes un instant précis.
L'instant 0 est fixé au 1er Janvier 1970 à 00h00 GMT
Jusqu'à javascript 1.5 les dates antérieures n'étaient pas autorisée mais elles sont aujourd'hui représentées par des nombres négatif.
Les méthodes permettent de présenter les dates de manière plus familière q'un nombre en millisecondes

Les jours de la semaine sont numérotés de 0 (dimanche) à 6(samedi)
Les mois de l'année sont numérotés de 0 (janvier) à 11(décembre)

Les valeurs de dates étant stockées en nombre il est aisé d'opérer des opérations dessus !

Le constructeur Date() :

Comme pour tous les constructeurs d'objets on peut créer des objets date personnalisés avec les syntaxes :
aujourdhui = new date();    // si pas de paramètre javascript renvoie la date courante.
noel = new date(2004,11,25); // et non 12 ! le dernier mois de l'année c'est 11 le premier 0

NB : javascript est un langage interprété coté client, en conséquence les date affichées par vos scripts sont en fonction de vos propriétés date et heure. Si elles ont été modifié vous travaillerez avec des dates érronées. a contrario d'un script executé coté serveur (php asp ...);

Ce script propose d'afficher le nombre de jour avant Noël

jours avant noël

Les principales méthodes :
getDate()     renvoie le jour du mois
getDay()     renvoie le jour de la semaine de 0 à 6
getFullYear()     renvoie l'année en 4 chiffres
getHours()     renvoie l'heure 0 à 23
getMinutes()     renvoie les minutes
getSeconds()     renvoie les secondes
getMonth()     renvoie le mois de 0 à 11

Ce sont des méthodes, la syntaxe est associée à une variable de type Date
ex : maDate = new Date(2004, 06, 07);
jour = maDate.getDay(); alert(jour); // affiche 3 (mercredi)

setDate()     modifie le jour du mois
setDay()     modifie le jour de la semaine de 0 à 6
setFullYear()     modifie l'année en 4 chiffres
setHours()     modifie l'heure 0 à 23
setMinutes()     modifie les minutes
setSeconds()     modifie les secondes
setMonth()     modifie le mois de 0 à 11


Les méthodes de type setX acceptent un argument qui correspond à la valeur à définir

date

méthode parse()
convertit en millisecondes une chaîne de caractères contenant une date et une heure.


méthode toLocaleString()
Renvoie la date dans la langue de la machine.

Petit exercice sur les dates
Un restaurant souhaite afficher les prix du menu sur son site

Ceux -ci varient en fonction des jours de la semaine :
   week end (samedi & dimanche) 15 euros
   semaine(sauf mercredi) 12 euros
   mercredi le restaurant est fermé
Une solution ?



© Emmanuel Besnard, octobre 2004