Home Ontwerp je site Javascript Tijd en datum in JavaScript

Tijd en datum in JavaScript

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:


5 + 1 =
 

GOOGLE adsense