Premiers pas en JavaScript
35.1 objets dates
cuy copyleft
  See You Why?  

 


test relatif aux objets Math() (34.9) | | Les méthodes de l'objet Date() (35.2)

Contenu

 

 

I. Objet date

La gestion du temps est primordiale en Javascript ! Elle vous permet par exemple de temporiser vos codes et donc de créer, entre autres, des animations, des compteurs à rebours et bien d'autres choses qui nécessitent une temporisation dans un code. Nous allons donc apprendre à manipuler les dates, les heures et les secondes.

D'une grande utilité, l'objet Date() de JS est souvent employé :
* qu'il s'agisse de vérifier les conditions de lecture d'un cours ou d'accès à un test ;
* qu'il s'agisse de mesurer le temps passé ;
* qu'il s'agisse de connaitre le moment de la journée.

Les méthodes associées à l'objet Date() sont nombreuses et utiles et permettent de travailler avec toutes les variables qui concernent non seulement les dates mais aussi la gestion du temps jusqu'au millième de seconde. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser.

Les dates en Javascript sont stockées de la même manière que dans le langage Java, c'est-à-dire qu'il s'agit du nombre de millisecondes depuis le 1er janvier 1970 à minuit. Ainsi, toute date antérieure au 1er janvier 1970 fournira une valeur erronée.

Avec les versions de Javascript inférieures à la version 1.3, pour manipuler des dates antérieures à "l'année zéro" il vous sera nécessaire de créer un objet date spécifique.
À partir de la version 1.3, il est possible de manipuler des dates de plus ou moins 100 000 000 de jours par rapport au premier janvier 1970 à minuit.

JavaScript ne dispose pas d'un type de données pour les dates. Cependant, il est possible d'utiliser l'objet Date et ses méthodes pour travailler avec des dates et des heures dans vos applications. L'objet Date propose un grand nombre de méthodes permettant de définir, obtenir et manipuler des dates. Il ne possède aucune propriété.
JavaScript gère les dates d'une manière similaire à Java. Les deux langages ont de nombreuses méthodes en commun, et stockent les dates sous la forme du nombre de millisecondes écoulées depuis le 1er janvier 1970, 00:00:00.
Les limites de l'objet Date correspondent à -100 000 000 jours avant et 100 000 000 jours après le 1er janvier 1970 (UTC) et un jour compte 86 400 000 millisecondes.

Ce nombre particulier est le timestamp, essentiellement inspiré du système d'horodatage de Unix. Nous n'utiliserons pas beaucoup ce timestamp, car JS a créé un objet Date() qui facilite la mesure du temps, à condition d'en connaitre les méthodes à utiliser.

Nous développerons ici :

  1. l'objet Date() sans et avec paramètres ;
  2. les méthodes de type getTime() ou getDate() pour connaitre la date ;
  3. les méthodes pour changer le format de la date, telles que toGMTString() ;
  4. les méthodes de type setTime() ou setDate() pour modifier la date ;
  5. la méthode setTimeout() pour répéter une action à intervalles réguliers.

 

 

A. L'objet Date() sans paramètres

L'objet Date() est quasi inutile si l'on n'est pas prêt à utiliser les méthodes qui permettent la manipulation de cet outil.

Mais cet objet est aussi indispensable pour pouvoir les utiliser... bonne lecture donc.

Date(), employé sans paramètres, récupère la date et l'heure de l'ordinateur du visiteur de votre site, au moment où il consulte votre page.

L'usage le plus courant sera d'affecter (ou d'instancier) une variable objet qui sera initialisée avec l'heure courante. On écrira :

var madate = new Date();
cette instruction sera utilisée pour chaque emploi de l'objet Date(), même si la valeur retournée est aussi peu lisible que le message suivant (aujourd'hui et sur votre ordinateur) :

.

Il ne nous restera plus qu'à utiliser les méthodes relatives à l'objet Date()... c'est ce que nous ferons dans la séquence suivante. On pourrait par exemple mesurer le temps de lecture de cette page... en faisant la différence entre la date d'arrivée et celle de sortie (ou celle où vous allez cliquer sur ce bouton : )

Mais avant cela, voyons comment utiliser l'objet Date() avec paramètres.
 

B. L'bjet Date() avec paramètres

Si l'usage le plus courant de l'objet Date() est de récupérer les heures et dates courantes en l'employant comme ci-dessus, sans paramètres, l'objet Date() peut aussi être employé avec paramètres.

le paramètre "milliseconds" devenu obsolète

... sans 'e' à milliseconds... devrait renvoyer le nombre de millisecondes passées depuis le 1er janvier 1970... ce paramètre mentionné dans plusieurs tutoriels, ne semble plus être d'actualité. Donc, plus de paramètre milliseconds, mais on verra dans les méthodes applicables (dans la séquence suivante), qu'il en existe une getTime() qui donne le même résultat.

 

le paramètre "mois  journée du mois,  année  heures:minutes:secondes"

à condition de le rentrer correctement selon la syntaxe américaine...
    date_1 = new Date("October 13, 2012 11:13:00")
c'est-à-dire une chaine de caractères, notée à l'intérieur des parenthèses,
placer forcément entre les guillemets et successivement :
le mois correctement orthographié en anglais avec capitale initiale, puis espace,
la date du jour (de 1 à 31) suivie d'une virgule puis espace,
l'année en 4 chiffres puis espace,
puis les heures, minutes et secondes en 2 chiffres chaque fois avec un deux-points entre chaque,
et inutile de rappeler que l'on referme les guilles et les parenthèses.

Le lecteur aura noté qu'avec l'usage de ce type de paramètre, on ne récupère plus la valeur de la date, on l'impose, on affecte une valeur.

 

le paramètre à trois ou six valeurs numériques

À condition de respecter la syntaxe
    date_noel2012 = new Date(2012,11,25)
c'est-à-dire les 3 valeurs indiquant l'année, le mois et le jour (ou date)... on donne bien la valeur de la Noël 2012 à la variable objet de type Date() date_noel2012.
"Ça y est, VdK a encore une fois été distrait... heureusement que nous pouvons corriger car nous savons que la Noël est toujours en décembre...".
Et bien oui, mais nous avons tous raison, Noël est en effet en décembre mais les ordinateurs commencent à compter à partir de 'Zéro', donc décembre est bien le mois n° 11.
Par contre, pas de décalage pour le jour ni l'année.

Attention cependant, comme aucune précision concernant les heures, minutes et secondes n'a été donnée, l'ordinateur supposera que c'est minuit. Trois valeurs numériques sont attendues pour cette précision. Ainsi, pour fixer la rentrée académique supposée à 8 h 30 le 15 septembre [même si cette année, c'est un samedi], il faudrait ecrire :
    date_rentree2012 = new Date(2012,08,15,8,30,0)
et ici aussi, 8 pour septembre...

Ici aussi, le lecteur aura noté qu'avec l'usage de ce type de paramètre, on ne récupère plus la valeur de la date, on l'impose, on affecte une valeur.

Ce n'est qu'après avoir vu les méthodes applicables aux objets Date() que l'on pourra entrevoir certains usages possibles.

 

 

II. Les méthodes de l'objet Date()

voir suite >>>

 

 

 

III. Exemples de méthodes de l'objet Date()

voir suite >>>

 

 

VIII. Exercices relatifs à l'objet Date()

voir suite >>>

 

 

IX. Test relatif à l'objet Date()

voir suite >>>

 


test relatif aux objets Math() (34.9) | | Les méthodes de l'objet Date() (35.2)