Datum formaat omzetten
Wereldwijd worden er meerdere manieren gebruikt om een datum op te schrijven. In Nederland is de notatie dag, maand, jaar
gebruikelijk. Landen waar Engels de voertaal is, gebruikt gewoonlijk de notatie maand, dag, jaar. In de techniek wordt jaar,
maand, dag veel toegepast.
Soms zijn die verschillende notaties lastig, bijvoorbeeld als je een tweetalige site hebt.
Op deze bladzijde wordt een stukje JavaScript gepresenteerd dat de de onderlinge conversies van de datanotaties voor je uitvoert.
Dit script is bedoeld als hulp bij het verwerken van formulieren, in het bijzonder voor het omzetten van Engelstalige datum-opmaak
(Maand dag, jaar) in Nederlandse datum-opmaak (dag maand jaar), en omgekeerd.
Het script en de code van het voorbeeld kun je downloaden om zelf te gebruiken.
- Het script staat in de file dateformats.js Je hoeft het niet te veranderen om het te gebruiken.
- Het werk wordt gedaan door de function formatDate(). Deze function heeft drie parameters, zie onderstaande tabel:
Parameter | Betekenis | |
DateString | De datum die moet worden omgezet. |
|
FormatIn | Het format van de ingevoerde DateString. Dit is een sleutelwoord, zie de volgende tabel. |
|
FormatOut | Het format waar DateString wordt omgezet. Dit is een sleutelwoord, zie de volgende tabel. |
- De function formatDate() retourneert de omgezette datum-string.
- De aanroep van function formatDate() om de datum October 20, 2011 om te zetten in 20-10-11 luidt:
var aa = formatDate('October 20, 2011','mmmmddyyyy','dd-mm-yy')
- De taal waarin de maand als woord staat (Nederlands of Engels), wordt gekozen aan de hand van de volgorde waarin dag en maand staan.
- Een overzicht van de beschikbare sleutelwoorden staat in onderstaande tabel.
Keywords voor het besturen van function formatDate() | ||||||
dd-mm-yy | dd-mm-yyyy | dd mm yyyy | ||||
0d-0m-yy | 0d-0m-yyyy | 0d 0m yyyy | ||||
dd/mm/yy | dd/mm/yyyy | dd mmmm yyyy | ||||
0d/0m/yy | 0d/0m/yyyy | 0d mmmm yyyy | ||||
mm/dd/yy | mm/dd/yyyy | mmmm dd, yyyy | ||||
0m/0d/yy | 0m/0d/yyyy | mmmm 0d, yyyy | ||||
0d0myy | 0d0myyyy | |||||
0m0dyy | 0m0dyyyy | |||||
yy0m0d | yyyy0m0d | |||||
yy0d0m | yyyy0d0m |
- Van de keywords 0d0myy, 0d0myyyy, yy0d0m en yyyy0d0m zijn geen vergelijkbare formats zoals ddmmyy, ddmmyyyy, enz. gedefiniëerd.
- Legenda:
dd | : | Dag, zonder voorloop-nullen. 6 wordt weergegeven als 6. |
0d | : | Dag, met voorloop-nullen. 6 wordt weergegeven als 06. Bij invoer is 0d gelijk aan dd. |
mm | : | Maand, zonder voorloop-nullen. 6 wordt weergegeven als 6. |
0m | : | Maand, met voorloop-nullen. 6 wordt weergegeven als 06. Bij invoer is 0m gelijk aan mm. |
mmmm | : | Maand, weergegeven als woord. |
yy | : | Jaar, in 2-cijfer notatie, zo nodig met een voorloop-nul. Voor 70 ≤ yy ≤ 99 geldt: 1970 ≤ yyyy ≤ 1999 Voor 00 ≤ yy ≤ 69 geldt: 2000 ≤ yyyy ≤ 2069 |
yyyy | : | Jaar, in 4-cijfer notatie. |
- De sleutelwoorden zijn hoofdletter-onafhankelijk. Je mag ze dus ook geheel of gedeeltelijk in hoofdletters opgeven.
- Als een onjuist keyword wordt opgegeven, wordt de waarde van DateString ongewijzigd teruggegeven.
Voorbeeld:
Vul in het veld hieronder een datum-string in. Deze moet voldoen aan een van de formats die in de tabel zijn genoemd. Kies het
bijbehorende input-format en het gewenste output-format. Klik op Laat Zien. In de tekst verschijnt de omgezette datumstring en
de aanroep van formatDate().
Tenslotte:
Dit script kun je goed inzetten om een 'lastige' datum-string snel om te zetten in een JavaScript Datum-object, bijvoorbeeld:
De string 20111017 (17 oktober 2011) zet je om in een datum-object met de code:
var aa = new Date(formatDate('20111017','yyyymmdd','mmmm dd, yyyy'))
Gebruik:
- De code staat gedeeltelijk in de <HEAD> en gedeeltelijk in scripts in de <HEAD> en/of <BODY>.
De code ziet er als volgt uit:
(Zet dit in de <HEAD>).
Je kunt de function formatDate() op elke gewenste plek in je HTML-document aanroepen.<script src="dateformats.js"></script>
Downloaden:
Druk op de knop:
File: voorb317.zip, 2894 bytes.
Opmerking:
Om te testen of een datumstring goed is ingevoerd, kun je het item Geldigheid
testen van een datum-aanduiding toepassen.