|
In JavaScript kun je op een relatief eenvoudige manier de huidige datum en tijd weergeven. Je kunt ook je eigen datum- of tijdformaat programmeren.
Om de datum en tijd weer te geven bestaat het object Date().
De code die we hiervoor nodig hebben, ziet er als volgt uit:
<script type="text/javascript">
<!--
document.write(new Date());
//-->
</script>
Deze code wordt als volgt weergegeven:
Het formaat van de tijd en datum is standaard Engelstalig; dit kunnen we dus
niet gebruiken op een Nederlandstalige website.
We zullen dus een eigen datum-
of tijdformaat moeten programmeren. Het object Date() geeft ook
steeds de volledige tijd en datum weer en misschien willen me enkel een deel
hiervan weergeven.
Hiervoor gaan we het object Date() opsplitsen in dag, maand,
jaar, uur, minuten en seconden. Hiervoor bestaan functies in JavaScript.
Elk
deeltje stoppen we vervolgens in een aparte variabele. De code die we hiervoor
nodig hebben, ziet er als volgt uit:
<script type="text/javascript">
<!--
var tijd_datum = new Date();
var dag = tijd_datum.getDate();
var maand = tijd_datum.getMonth();
var jaar = tijd_datum.getFullYear();
var uur = tijd_datum.getHours();
var minuten = tijd_datum.getMinutes();
var seconden = tijd_datum.getSeconds();
document.write(dag+" "+maand+" "+jaar+" "+uur+":"+minuten+":"+seconden);
//-->
</script>
Dit ziet er in je browser zo uit:
De datum en tijd wordt nu mooi weergegeven volgens ons eigen formaat. Je
merkt wellicht een fout op; het is vandaag niet de
1 e maand, maar de
2 e. Deze fout wordt veroorzaakt door de teller van javascript.
Programmeertalen beginnen te tellen vanaf 0.
Januari wordt dus weergegeven als
maand 0, februari als maand 1, maart als maand 2 enzovoort.
Het enige wat je dus moet doen om deze fout op te lossen is bij de variabele 1
bijtellen.
We veranderen de waarde van de variabele maand als
volgt:
var maand = tijd_datum.getMonth()+1; // +1 want js begint bij 0 te tellen
Onze tijd en datum wordt nu netjes weergegeven volgens ons eigen formaat. Wil
je bijvoorbeeld enkel de tijd weergeven, verwijder dan de variabelen dag,
maand en jaar.
Verwijder in de laatste regel (die alle
variabelen weergeeft op het scherm) de verwijzingen naar deze variabelen:
document.write(dag+" "+maand+" "+jaar+" "+uur+":"+minuten+":"+seconden);
We kunnen ook de dagen en de maanden in woorden weergeven. Hiervoor stoppen
we alle woorden in een array. We halen de dag op met de functie getDay().
Met deze functie kunnen we de weekdag uitlezen. Het resultaat is een nummer waar
0 zondag is, 1 maandag, 2 dinsdag enzovoort.
<script type="text/javascript">
<!--
var tijd_datum = new Date();
var dag = tijd_datum.getDay();
var dagarray = new Array('zondag','maandag','dinsdag', 'woensdag', 'donderdag',
'vrijdag', 'zaterdag');
document.write(dagarray[dag]);
//-->
</script>
Ook de maanden kunnen we op dezelfde manier weergeven in woorden:
<script type="text/javascript">
<!--
var tijd_datum = new Date();
var maand = tijd_datum.getMonth();
var maandarray = new Array('januari', 'februari', 'maart', 'april', 'mei',
'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');
document.write(maandarray[maand]);
//-->
</script>
Het volledige Nederlandstalige script ziet er uiteindelijk zo uit:
<script type="text/javascript">
<!--
var tijd_datum = new Date();
var dag = tijd_datum.getDay(); //dag in woorden
var dag2 = tijd_datum.getDate(); // dag in getal
var maand = tijd_datum.getMonth()+1; // +1 want js begint bij 0 te tellen
var jaar = tijd_datum.getFullYear();
var uur = tijd_datum.getHours();
var minuten = tijd_datum.getMinutes();
var seconden = tijd_datum.getSeconds();
var maandarray = new Array('januari', 'februari', 'maart', 'april', 'mei',
'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');
var dagarray = new Array('zondag','maandag','dinsdag', 'woensdag', 'donderdag',
'vrijdag', 'zaterdag');
document.write(dagarray[dag]+" "+dag2+" "+maandarray[maand]+" "+jaar+"
"+uur+":"+minuten+":"+seconden);
//-->
</script>
Als resultaat krijgen we de tijd en datum van vandaag:
|