10. Dates

 

     ◄ Retour accueil

 

 


Objet Date

Javascript inclus l'objet Date qui n'est pas un élément de HTML. Pour pouvoir l'utiliser, il faut se créer une instance de date à l'aide du mot clé new. Avec l'objet date ainsi créé, on pourra utiliser ses propriétés.

Lors de la création d'un objet Date, on peut lui spécifier le format de date qu'on désire en lui donnant en paramètre la date souhaitée. Il ne faut pas oublier que les mois sont conservées dans un vecteur(avec leurs noms en anglais), où l'indice premier est 0. Ainsi janvier = 0, février = 1, etc.

Exemples :

// On peut passer la date sous le format : mois jour, année
date = new Date(2004, 08, 23);
// On peut passer la date sous le format : mois jour, année heure:minutes:secondes
date = new Date("Feb 14, 2004 07:35:00");
// On peut passer la date sous le format : année, mois, jour, heure, minutes, secondes
date = new Date(2004, 7, 23, 11, 59, 12);

L'objet Date par défaut n'est pas associé à un format et ne contient qu'une valeur : un entier. Cet entier représente le nombre de millisecondes qui se sont écoulées depuis le premier janvier 1970. Ce n'est qu'avec ce nombre, ce "format" standard si on peut dire, qu'on peut comparer des dates. On peut convertir une date de n'importe quel format en son format d'origine en utilisant la méthode Date.UTC().

Exemple :

document.write(Date.UTC(2004, 7, 23, 11, 59, 12));
// Affichera : 1093262352000


Afficher l'heure et la date locales

Greenwich mean time (GMT) est le fuseau horaire sur lequel sont fondées toutes les mesures des autres fuseaux horaires. Après avoir créé un objet Date, plusieurs méthodes sont disponibles pour afficher l'heure et la date locales. toGMTString() retourne l'heure GMT actuelle. toLocaleString() retourne la date et l'heure locales, pour le fuseau horaire actif sur l'ordinateur qui exécute la page. Le format retourné sera par exemple , Mon Aug 23 11:59:12 EDT 2004 , correspondant au Lundi 23 Août 2004 à 11h59m12s.

UTC est l'acronyme de Universal Coordinated Time (temps universel), synonyme de GMT.
EDT est l'acronyme de Eastern Date Time (UTC - 4 heures).

Exemples :

// Exemples d'affichages avec différentes méthodes
date = new Date(2004, 7, 23, 11, 59, 12);
document.write(date.toString());       
           // Affichera : Mon Aug 23 11:59:12 EDT 2004
document.write(date.toGMTString());           // Affichera :  Mon, 23 Aug 2004 15:59:12 UTC
document.write(date.toLocaleString());       // Affichera :  23 août, 2004 11:59:12


Lire les valeurs de l'heure et la date

Javascript propose des méthodes pour obtenir les valeurs du jour, du mois, de l'année, etc. d'une date.

getDate() retourne la date du jour sous la forme d'un entier.
getDay() retourne le numéro du jour de la semaine où 1 est lundi, 2 mardi jusqu'à 7 pour dimanche.
getMonth() retourne le numéro du mois où 0 est janvier jusqu'à 11 pour décembre.
getYear() retourne l'année sous 2 chiffres, soit 04 pour 2004.
getFullYear() retourne l'année sosu 4 chiffres. (!!! n'est supporté que par les versions 4 et + )
getHours() retourne l'heure de 1 à 24.
getMinutes() retourne le nombre de minutes.
getSeconds() retourne les secondes.
getTime() retourne une valeur entière égale au nombre de millisecondes depuis le 1er janvier 1970.

Régler les valeurs de la date et de l'heure

Comme il est possible d'accéder aux valeurs avec des méthodes débutant par get, on peut modifier les valeurs de l'heure et la date avec des méthodes débutant par set. Ces méthodes acceptent en paramètres des valeurs entières.

setDate() Modifie le numéro du jour, valeur entre 1 et 31.
setMonth() Modifie le mois, valeur entre 0 et 11.
setYear() Modifie l'année, accepte une valeur à deux ou quatre chiffres.
setHours() Modifie l'heure, valeur entre 1 et 24
setMinutes() Modifie les minutes.
setSeconds() Modifie les secondes.
setTime() Modifie le temps, accepte le nombre de millisecondes écoulées depuis le 1er janvier 1970.

Ces méthodes sont utiles lorsqu'on demande par exemple à un usager de saisir une date dans un formulaire. Il serait intéressant de convertir ces données en format Date pour la stocker dans une base de données ou tout simplement pour y effectuer des calculs.

Exemple :

// Dans la page nous avons un formulaire (formA) et des champs textes pour saisir une date
var anniversaire = new Date();
anniversaire.setDate(document.formA.date.value);
anniversaire.setMonth(document.formA.mois.value);
anniversaire.setYear(document.formA.annee.value);

Exemple pratique :

// Fonction retournant le nombre de jours entre deux dates
function comparerDates(date1, date2)
    {
    var millisecondes = date2 - date1;
    var secondes = millisecondes / 1000;
    var minutes = secondes / 60;
    var heures = minutes / 60;
    var jours = heures / 24;
    return jours;
    }


Fuseaux horaires

Javascript comporte une méthode pour calculer la différence d'heure entre les fuseaux horaires. La méthode getTimezoneOffset() retourne le nombre de minutes entre l'heure GMT et l'heure du fuseau local. La valeur retournée est positive ou négative dépendant si le fuseau local se trouve avant ou après Greenwich. Si l'ordinateur du visiteur est au fuseau PST, la valeur retournée serait 480, soit un décalage de 8 heures par rapport à GMT.

 

   
Hosted by www.Geocities.ws

1