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 1
er 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
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
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