Cours
4. XHTML et Javascript
4.7. Temps
4.7.1 Un objet javascript: Date
Voici le premier exemple d'un objet en javascript. On crée cet objet de la manière suivante:
- Si c'est la date actuelle par:
maintenant = new Date();
- Si c'est une date quelconque (par exemple 2020, mois 0 (janvier), jour 1, 13 h, 5 min, 34 sec) par:
alors = new Date(2020, 0, 1, 13, 5, 34);
4.7.2 Les méthodes de l'objet Date
Chaque objet possède des méthodes qui permettent de le manipuler. Voici par exemple des méthodes permettant d'extraire des nombres de l'objet Date:
La méthode getFullYear()
extrait l'année, par →exemple :
....
<script>
maintenant = new Date();
annee = maintenant.getFullYear();
alert(annee);
</script>
....
La méthode getMonth()
extrait le mois (0 = janvier), par →exemple :
....
<script>
maintenant = new Date();
mois = maintenant.getMonth();
alert(mois);
</script>
....
La méthode getDate()
extrait le jour du mois, par →exemple :
....
<script>
maintenant = new Date();
jour = maintenant.getDate();
alert(jour);
</script>
....
La méthode getDay()
extrait le jour de la semaine (0 = dimanche), par →exemple :
....
<script>
maintenant = new Date();
jour = maintenant.getDay();
alert(jour);
</script>
....
La méthode getHours()
extrait l'heure , par →exemple :
....
<script>
maintenant = new Date();
heure = maintenant.getHours();
alert(heure);
</script>
....
La méthode getMinutes()
extrait les minutes , par →exemple :
....
<script>
maintenant = new Date();
minutes = maintenant.getMinutes();
alert(minutes);
</script>
....
La méthode getSeconds()
extrait les secondes , par →exemple:
....
<script>
maintenant = new Date();
secondes = maintenant.getSeconds();
alert(secondes);
</script>
....
La méthode getTime()
extrait le nombre de millisecondes depuis le 1. janvier 1970, 0:00:00 , jusqu'à la date indiquée, par →exemple:
....
<script>
alors = new Date(2020, 0, 1, 13, 5, 34);
time = alors.getTime();
alert(time);
</script>
....
4.7.3 Les pauses
La méthode setTimeout("f()",nombre) attend nombre millisecondes, puis exécute la fonction f(), par →exemple:
<head>
...............
<script>
function action()
{
alert("Après 3 secondes, je vous dis: hello")
}
function del()
{
setTimeout("action()",3000);
}
</script>
...............
</head>
<body>
<input type="button" value="Start" onClick="del()">
</body>
4.7.4 La récursion: Construire un compteur
Si la méthode setTimeout("f()",nombre) est incluse à la fin de la fonction f(), celle-ci sera continuellement de nouveau appelée ( ce qu'on désigne par récursivité). Voici par →exemple un compteur construit de cette façon:
<head>
...............
<script>
c=0;
function count()
{
document.getElementById("timer").value=c;
c=c+1;
setTimeout("count()",1000);
}
</script>
...............
</head>
<body>
<input type="text" id="timer">
<input type="button" value="Start" onClick="count()">
</body>
4.7.5 Donald avance tout seul
Rappelez-vous Donald! Avec la récursion, le →voici qui a appris à avancer tout seul!
4.7.6 Exercice: Construire une montre digitale
En utilisant la récursion, construire une montre digitale donnant dans des champs de texte séparés: le jour du mois, le mois, l'année, l'heure, les minutes et les secondes. Les champs de texte seront alignés et vous incorporerez dans la balise <input> l'attribut style="width:...px" pour régler leur largeur
4.7.7 Exercice: Déterminez votre âge actuel
Imaginer un fichier qui donne, en cliquant sur un bouton, votre âge à ce moment en millisecondes, puis perfectionnez le fichier pour avoir l'âge en années, mois, jours, heures, minutes et secondes (voir références: →calculs javascript)