|
◄
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.
|