"Ik herinnerde me dat ik je wat wilde vertellen over het werken met dadels."

"Je hebt me al verteld dat Java de klasse Date heeft en dat ik die klasse kan gebruiken om met datums te werken."

"Hmm. Nou, de klasse Date is al een tijdje achterhaald."

"Nu wordt aanbevolen om in plaats daarvan de klasse Calendar te gebruiken, die een methode getTime() heeft die de huidige datum retourneert."

"Dit is een kalenderobject dat meestal wordt gemaakt:"

Maak een agenda-object
Calendar cal = Calendar.getInstance();

"Wanneer u deze methode aanroept, wordt de juiste agenda gemaakt op basis van uw computerinstellingen."

"De 'juiste' kalender? Betekent dat dat er meerdere zijn?"

"Ja. Nou, het zou juister zijn om 'relevant' te zeggen. Het feit is dat de aarde niet één, maar vele kalenders heeft. Bijna allemaal zijn ze geassocieerd met een religie of land."

"Het jaar kan verschillen, afhankelijk van in welk land je bent."

"Hier zijn voorbeelden van de meest voorkomende kalenders."

Kalender klasse Kalender naam
Gregoriaanse kalender Christelijke Gregoriaanse kalender
Boeddhistische kalender Boeddhistische kalender
Japanse keizerlijke kalender Japanse keizerlijke kalender

"Er is ook de Chinese kalender, de islamitische kalender en nog veel meer."

"Ik zie."

"Om de huidige datum te krijgen, moet je code als volgt schrijven:"

Krijg de huidige tijd
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"De klasse Calendar heeft veel methoden waarmee u snel informatie over een datum en tijd kunt krijgen."

Code Opmerkingen
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
tijdperk 
jaar 
maand 
dag van de maand

dag van de week (ma, di, wo, …)
uur 
minuut 
seconde

"Soms heb je echt maar een stukje van de beschikbare informatie nodig. Bijvoorbeeld het huidige jaar of de dag van de week."

"Maar soms moet je de datum gewoon in het juiste formaat weergeven."

"Bijvoorbeeld in het logbestand of ergens anders."

"Of maak een format dat de gebruiker kan aanpassen. Wat doe je dan?"

"Daar zijn ook speciale klassen voor. De klasse SimpleDateFormat is perfect geschikt voor de taak die u hebt beschreven:"

Hoe een datum in het gewenste formaat weer te geven
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

"Ah. Ik weet het nog. Je hebt me al wat over SimpleDateFormat uitgelegd, maar eerlijk gezegd herinner ik me niet veel meer."

"Het is allemaal heel eenvoudig. Je maakt een SimpleDateFormat- object en geeft het het datumpatroon door dat je wilt hebben. Vervolgens roep je de format-methode aan en het geeft je de doorgegeven datum in de gewenste vorm."

'Klinkt interessant. Ik wil graag meer details.'

"Alsjeblieft. De details. Hier zijn enkele letters die in het datumpatroon kunnen worden gebruikt:"

Brief Beschrijving
G Vervangen door het tijdperk (AD of BC)
j Vervangen door het jaartal
M Vervangen door de maand
w Aantal weken in het jaar
W Aantal week in de maand
D Aantal dagen in het jaar
D Dag van de maand
F Dag van de week in de maand
E Dag van de week
A AM/PM (voor of na de middag)
H Uur in 24-uurs formaat (0-23)
k Uur in 24-uurs formaat (1-24)
K Uur in 12-uurs formaat (0-11)
H Uur in 12-uurs formaat (1-12)
M Minuten
S seconden
S Milliseconden
z Tijdzone, als volgt opgemaakt: Pacific Standard Time, PST
Z Tijdzone, als volgt geformatteerd: -0800/td>

"Cool! Dat is zo'n beetje alles wat je nodig hebt."

"Er zijn nog enkele nuances met betrekking tot het herhalen van deze letters."

"Als je JJ schrijft, krijg je de laatste twee cijfers van het jaar. Als je JJJJ schrijft, krijg je alle vier de cijfers van het jaar."

"Er is ook enige complexiteit met maanden. MM is het nummer van de maand. MMM is een drieletterige afkorting van de maand, dwz Jan, Feb, Mar, Apr, May, etc. MMMM staat voor de volledige naam van de maand ."

"U kunt ook de volledige dag van de week weergeven (met EEEE) of alleen de eerste twee letters (met EE)."

"Bedankt, Rishi. Deze SimpleDateFormat-klasse is echt nuttig. Nu weet ik het."

"Veel plezier ermee! En veel succes!"