1. klase ng DateTimeFormatter
DateTimeFormatter
Nakarating ang espesyal na klase sa Date Time API. Ang layunin nito ay gawing mas madali hangga't maaari para sa mga programmer na mag-convert ng petsa at oras sa eksaktong format na gusto nila. At masaya kaming iulat na nagtagumpay ang mga tagalikha ng Java.
Ang paggamit nito ay napakadali. Una, kailangan mong lumikha ng isang DateTimeFormatter
klase at ipasa sa isang pattern na tumutukoy kung paano ito ipapakita ang petsa at oras:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);
Nasaan dtf
ang DateTimeFormatter
variable. ay isang static na pamamaraan ng klase. At ang pattern ay isang string na tumutukoy sa pattern na gagamitin upang ipakita ang petsa at oras.DateTimeFormatter.ofPattern()
DateTimeFormatter
Mga halimbawa
Code | Output ng console |
---|---|
|
|
Sa halimbawa sa itaas, ginagamit namin ang ofPattern()
paraan upang lumikha ng isang DateTimeFormatter
bagay batay sa pattern. At sa susunod na linya, ginagamit namin ang format()
paraan upang i-convert ang isang LocalDateTime
bagay sa isang string. Makikita mo ang resulta sa screen.
Maaari mong ipasa ang halos anumang bagay mula sa Date Time API hanggang sa format()
pamamaraan.
Ang static ofPattern()
ay napaka-simple din: ito ay nangangailangan ng isang pattern bilang isang argumento at nagbabalik ng isang DateTimeFormatter
bagay. Ang pinaka-kagiliw-giliw na bahagi ay matatagpuan sa pattern.
2. Pattern ng pag-format
Ang string na ipinasa bilang isang pattern ay ginagamit bilang isang pattern kapag nagpapakita ng impormasyon. Ang MM ay pinapalitan ng bilang ng buwan, dd ng araw ng buwan, at yy ng bilang ng taon. Ang kaso ng mga titik ay mahalaga.
Ang buong talahanayan para sa mga pattern ng oras na ito ay ito:
Sulat | Ibig sabihin |
---|---|
y | taon |
M | buwan |
d | Araw |
H | Oras |
m | Mga minuto |
s | Mga segundo |
S | Libo-libong segundo |
n | Nanoseconds. |
Hindi partikular na mahirap tandaan.
Ngunit bakit kasama sa pattern sa halimbawa ang mga paulit-ulit na letrang MM, dd at yy? Well, dito ito nagiging mas kawili-wili.
Pangkalahatang ideya
Ang bilang ng mga titik ay nakakaapekto sa haba ng teksto. Kung mas maraming titik, mas magiging mahaba ang teksto.
Kung ang titik H ay tinukoy nang isang beses, ang 9 na oras ay ipapakita bilang 9, ngunit kung ang titik H ay tinukoy nang dalawang beses sa isang hilera, ang 9 na oras ay ipapakita bilang 09.
Kung ang titik y ay tinukoy ng 2 beses sa isang hilera, pagkatapos ay ang taon ay isinulat gamit ang 2 digit. Kung nangyari ito ng 4 na beses sa isang hilera, pagkatapos ay 4 na numero ang gagamitin.
Kung ang titik M ay tinukoy ng 2 beses sa isang hilera, pagkatapos ay ang bilang ng buwan ay nakasulat. Kung 3 beses sa isang hilera, pagkatapos ay ang pangalan ng buwan (ang unang 3 titik nito) ay ginagamit. Kung 4 na beses sa isang hilera, pagkatapos ay ang buong pangalan ng buwan ay ginagamit.
Halimbawa:
Code | Output ng console |
---|---|
|
|
3. Kumpletuhin ang talahanayan ng mga pattern
Ang buong talahanayan ay medyo malaki at sobrang kawili-wili:
Pattern | Mga pagkakaiba-iba ng pattern | Halimbawa | Paglalarawan |
---|---|---|---|
y | yy, yyyy | 19; 2019 | taon |
M/L | M, MM, MMM, MMMM, MMMMM | 1; 01; Jan; Enero; J | buwan |
d | d, dd | 9; 09 | Araw |
H | H, HH | 2; 02 | Oras |
m | m, mm | 3; 03 | Mga minuto |
s | s, ss | 5; 05 | Mga segundo |
S | S, SS, SSS, ... | 1; 12; 123 | Libo-libong segundo |
n | n | 123456789 | Nanoseconds |
G | G, GGGG, GGGGG | AD; Anno Domini; A; | Era |
Q/q | q, qq, qqq, qqqq | 3; 03; Q3; 3rd quarter | quarter |
w | w | 13 | Linggo ng taon |
W | W | 3 | Linggo ng buwan |
E | EEE, EEEE, EEEEE | Mon; Lunes; M | Araw |
e/c | e, ee, eee, eeee, eeeee | 1; 01; Mon; Lunes; M | Araw |
a | a | PM | AM o PM |
h | h | 12 | 12 oras na orasan. |
V | VV | Europa/Helsinki | Time zone |
z | z zzzz | EET; Eastern European Standard Time | Time zone |
O | O OOOO | GMT+2; GMT+02:00 | Time zone |
Siyanga pala, hindi talaga ito kumpletong bersyon. Maaari mong mahanap ang pinaka kumpletong bersyon dito .
4. Oras ng pag-parse
Ang DateTimeFormatter
klase ay kawili-wili din para sa kakayahang hindi lamang i-convert ang isang petsa at oras sa isang string ayon sa isang naibigay na pattern, ngunit din upang maisagawa ang reverse operation!
Ang pag-parse ng string ay ang proseso ng paghahati nito sa mga makabuluhang token.
Narito ang hitsura nito:
Code | Output ng console |
---|---|
|
|
Una, lumikha kami ng isang DateTimeFormatter
bagay at itakda ang pattern na ginagamit para sa pag-parse.
Pagkatapos ay tinatawagan namin ang LocalDate.parse()
o LocalTime.parse()
o LocalDateTime.parse()
pamamaraan at ipasa ang string na i-parse kasama ang DateTimeFormatter
bagay, na nauunawaan kung paano i-parse ang naipasa na teksto at kung anong pattern ang dapat gamitin para gawin ito.
Isa pang halimbawa: sa pagkakataong ito ay mag-parse tayo ng oras.
Code | Output ng console |
---|---|
|
|
GO TO FULL VERSION