Java-datumopmaak met SimpleDateFormat

Datumopmaak in Java kan op verschillende manieren. Een vrij eenvoudige optie is om de opmaakklasse SimpleDateFormat te gebruiken. Met deze klasse kunt u de uitvoer op de juiste manier formatteren en de invoer correct parseren. Hieronder heb ik enkele kleine voorbeelden samengesteld van het formatteren van datums en tijden in Java-toepassingen.

Huidige datum uitvoeren

De volgende korte regels zijn nodig om de huidige datum inclusief het juiste formaat uit te voeren:

Date tijdstempel = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
System.out.println("Datum: " + simpleDateFormat.format(tijdstempel));

Er wordt een tijdstempelobject gemaakt met behulp van new Date() en de opmaak day.month.year wordt opgegeven. De volgorde van de uitvoer kan eenvoudig worden gewijzigd. Er kan ook een tijd worden weergegeven. Een lijst met enkele mogelijke definities vindt u aan het einde van deze pagina.

Date tijdstempel = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
System.out.println("Datum: " + simpleDateFormat.format(tijdstempel));

Datum als parameter

Analoog aan de uitvoer kunnen strings met een datum ook worden ingelezen met behulp van Java’s SimpleDateFormat. In het volgende voorbeeld heb ik ter wille van de duidelijkheid de afhandeling van uitzonderingen weggelaten:

String datumString = "23.02.2012 23:11:00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Date tijdstempel = simpleDateFormat.parse(datumString);
System.out.println(tijdstempel);

Vanwege het gebrek aan internationalisering zou het voorbeeld de volgende tijdstempel moeten opleveren: Thu Feb 23 23:11:00 CET 2012. Dit is de standaarduitvoer van de methode toString() van de klasse Date.

Opmaakmasker

Net als bij mijn databaseblogposts is hier een overzicht van wat ik beschouw als de belangrijkste opmaakinstructies voor de hierboven gepresenteerde SimpleDateFormat-klasse.

ParameterBeschrijvingVoorbeeld
yyyyJaartal 4 cijfers2010
yyJaartal 2 cijfers10
MMMaand 2 cijfers12
wWeek van het jaar34
dDag van de maand15
HHUur (24-uursformaat)13
mmMinuut05
ssSeconde34

Meer voorbeelden en opmaakparameters vindt u hier en hier. Veel parameters kunnen worden gevarieerd door het aantal letters. De minuut met een voorloop 0 kan bijvoorbeeld worden weergegeven voor minutenwaarden van één cijfer als de “m” tweemaal wordt geschreven. Als het eenvoudigweg wordt geschreven, wordt er geen voorloop-0 uitgevoerd voor minutenwaarden van één cijfer.

Datum

Leave a Reply

Your email address will not be published. Required fields are marked *