"Jeg husket at jeg ville fortelle deg litt om å jobbe med datoer."

"Du har allerede fortalt meg at Java har Date-klassen, og jeg kan bruke den klassen til å jobbe med datoer."

"Hmm. Vel, Date-klassen har vært utdatert en stund."

"Nå anbefales det i stedet å bruke Calendar-klassen, som har en getTime()-metode som returnerer gjeldende dato."

"Dette er et kalenderobjekt som vanligvis opprettes:"

Lag et kalenderobjekt
Calendar cal = Calendar.getInstance();

"Når du kaller denne metoden, opprettes den riktige kalenderen basert på datamaskininnstillingene."

"Den 'riktige' kalenderen? Betyr det at det er flere?"

"Jepp. Vel, det ville vært mer nøyaktig å si "relevant". Faktum er at Jorden ikke har én, men mange kalendere. Nesten hver eneste av dem er assosiert med en religion eller land."

"Året kan være forskjellig avhengig av hvilket land du er i."

"Her er eksempler på de vanligste kalenderne."

Kalenderklasse Kalendernavn
Gregorianske kalender Kristen gregoriansk kalender
Buddhistisk kalender Buddhistisk kalender
JapaneseImperialCalendar Japansk keiserkalender

"Det er også den kinesiske kalenderen, den islamske kalenderen og mange flere."

"Jeg skjønner."

"For å få gjeldende dato, må du skrive kode slik:"

Få gjeldende tid
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"Kalender-klassen har mange metoder som lar deg raskt få all informasjon om en dato og et klokkeslett."

Kode Kommentarer
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);
epoke 
år 
måned 
dag i måneden

ukedag (man, tir, ons, …)
time 
minutt 
sekund

"Noen ganger trenger du egentlig bare å få en del av den tilgjengelige informasjonen. For eksempel gjeldende år eller ukedag."

"Men noen ganger trenger du bare å vise datoen i riktig format."

"For eksempel i loggfilen eller et annet sted."

"Eller lag et format som brukeren kan tilpasse. Hva gjør du da?"

"Det finnes spesialklasser for dette også. SimpleDateFormat - klassen er perfekt egnet for oppgaven du beskrev:"

Hvordan vise en dato i ønsket format
Calendar calendar = Calendar.getInstance();

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

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

"Ah. Jeg husker. Du har allerede forklart litt om SimpleDateFormat for meg, men jeg husker ærlig talt ikke så mye."

"Det hele er veldig enkelt. Du lager et SimpleDateFormat- objekt og sender det datomønsteret du ønsker å få. Deretter kaller du formatmetoden, og den gir deg passert dato i ønsket form."

"Høres interessant ut. Jeg vil gjerne ha flere detaljer."

"Her du går. Detaljene. Her er noen av bokstavene som kan brukes i datomønsteret:"

Brev Beskrivelse
G Erstattet av epoken (AD eller BC)
y Erstattet av året
M Erstattet av måneden
w Antall uker i året
W Antall uker i måneden
D Antall dager i året
d Dag i måneden
F Ukedag i måneden
E Ukedag
en AM/PM (før eller etter middag)
H Time i 24-timers format (0-23)
k Time i 24-timers format (1-24)
K Time i 12-timers format (0-11)
h Time i 12-timers format (1-12)
m Minutter
s Sekunder
S Millisekunder
z Tidssone, formatert slik: Pacific Standard Time, PST
Z Tidssone, formatert slik: -0800/td>

"Kult! Det er omtrent alt du trenger."

"Det er fortsatt noen nyanser knyttet til å gjenta disse bokstavene."

"Hvis du skriver YY, får du de to siste sifrene i året. Hvis du skriver YYYY, får du alle fire sifrene i året."

"Det er også noe kompleksitet med måneder. MM er månedens nummer. MMM er en forkortelse på tre bokstaver i måneden, dvs. Jan, Feb, Mar, Apr, Mai osv. MMMM står for månedens fulle navn ."

"Du kan også vise hele ukedagen (ved å bruke EEEE) eller bare de to første bokstavene (ved å bruke EE)."

"Takk, Rishi. Denne SimpleDateFormat-klassen er virkelig nyttig. Nå vet jeg det."

"Nyt å bruke den! Og lykke til!"