1. Kelas DateTimeFormatter

Kelas khusus DateTimeFormatternemokake cara menyang API Wektu Tanggal. Tujuane yaiku supaya programer gampang ngonversi tanggal lan wektu dadi format sing tepat sing dikarepake. Lan kita seneng nglaporake manawa pangripta Jawa wis sukses.

Nggunakake iku gampang banget. Pisanan, sampeyan kudu nggawe DateTimeFormatterkelas lan pass ing pola sing nemtokake carane bakal nampilake tanggal lan wektu:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);

Ing endi dtfvariabel DateTimeFormatter. minangka metode statis kelas . Lan pola minangka senar sing nemtokake pola sing bakal digunakake kanggo nampilake tanggal lan wektu.DateTimeFormatter.ofPattern()DateTimeFormatter

Tuladha

Kode Output konsol
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM-dd-yy");
String text = dtf.format( LocalDateTime.now() );
System.out.println(text);


02-22-19

Ing conto ing ndhuwur, kita nggunakake ofPattern()cara kanggo nggawe DateTimeFormatterobyek adhedhasar pola. Lan ing baris sabanjure, kita nggunakake format()cara kanggo ngowahi LocalDateTimeobyek dadi senar. Sampeyan ndeleng asil ing layar.

Sampeyan bisa ngliwati meh kabeh obyek saka API Tanggal Wektu menyang format()metode kasebut.

Statis ofPattern()uga prasaja banget: butuh pola minangka argumen lan ngasilake DateTimeFormatterobyek. Sisih paling menarik ditemokake ing pola kasebut.


2. Pola formating

String sing dilewati minangka pola digunakake minangka pola nalika nampilake informasi. MM diganti karo nomer sasi, dd dening dina sasi, lan yy dening nomer taun. Kasus layang iku penting.

Tabel lengkap kanggo pola wektu iki yaiku:

layang Artine
y taun
M wulan
d dina
H jam
m menit
s Detik
S Sewu detik
n Nanodetik.

Ora utamané angel kanggo ngelingi.

Nanging kok pola ing conto kalebu huruf bola MM, dd lan yy? Nah, ing kene dadi luwih menarik.

Ide umum

Jumlah huruf mengaruhi dawa teks. Sing luwih akeh huruf, luwih dawa teks kasebut.

Yen huruf H ditemtokake sapisan, banjur 9 jam bakal ditampilake minangka 9, nanging yen huruf H ditemtokake kaping pindho saurutan, banjur 9 jam bakal ditampilake minangka 09.

Yen huruf y ditemtokake 2 kaping saurutan, banjur taun ditulis nggunakake 2 digit. Yen kedadeyan kaping 4 saurutan, banjur 4 digit digunakake.

Yen huruf M ditemtokake 2 kaping saurutan, banjur nomer sasi ditulis. Yen kaping 3 saurutan, banjur jeneng sasi (3 huruf pisanan) digunakake. Yen 4 kaping saurutan, banjur jeneng lengkap sasi digunakake.

Tuladha:

Kode Output konsol
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM-dd-yyyy");
String text = dtf.format( LocalDateTime.now() );
System.out.println(text);


February-22-2019


3. Tabel pola lengkap

Tabel lengkap cukup gedhe lan menarik banget:

Pola Variasi saka pola Tuladha Katrangan
y yy, yyyy 19; 2019 taun
M/L M, MM, MMM, MMMM, MMMMM 1; 01; Jan; Januari; J wulan
d d, dhuh 9; 09 dina
H H, HH 2; 02 jam
m m, mm 3; 03 menit
s s, ss 5; 05 Detik
S S, SS, SSS,... 1; 12; 123 Sewu detik
n n 123456789 Nanodetik
G G, GGGG, GGGGG AD; Anno Domini; A; Era
Q/q q, qq, qqq, qqqq 3; 03; Q3; triwulan 3 seprapat
w w 13 Minggu ing taun
W W 3 Minggu ing sasi
E EEEE, EEEEEEEEEEEEE Mon; Senin; M Dina minggu
e/c e, ee, eee, eeee, eeeee 1; 01; Mon; Senin; M Dina minggu
a a PM AM utawa PM
h h 12 Jam 12 jam.
V VV Eropah / Helsinki Zona wektu
z z zzzz EET; Wektu Standar Eropa Wétan Zona wektu
O OOOO GMT+2; GMT+02:00 Zona wektu

Miturut cara, iki dudu versi lengkap. Sampeyan bisa nemokake versi paling lengkap kene .



4. Parsing wektu

Kelas DateTimeFormatteruga menarik amarga kemampuane ora mung ngowahi tanggal lan wektu dadi senar miturut pola tartamtu, nanging uga nindakake operasi mbalikke!

Parsing string yaiku proses pamisah dadi token sing migunani.

Mangkene apa sing katon:

Kode Output konsol
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM-dd-yyyy");
LocalDate date = LocalDate.parse("February-23-2019", dtf);
System.out.println(date);


February-23-2019

Pisanan, kita nggawe DateTimeFormatterobyek lan nyetel pola sing digunakake kanggo parsing.

Banjur kita nelpon LocalDate.parse()utawa LocalTime.parse()utawa LocalDateTime.parse()cara lan pass ing senar kanggo parsed bebarengan karo DateTimeFormatterobyek, kang mangertèni carane parse teks liwati lan apa pola kudu digunakake kanggo nindakaken.

Conto liyane: wektu iki kita bakal ngurai wektu.

Kode Output konsol
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time = LocalTime.parse("23:59:59", dtf);
System.out.println(time);


23:59:59