1. Kelas DateTimeFormatter
Kelas khusus DateTimeFormatter
menemukan jalannya ke Date Time API. Tujuannya adalah untuk membuatnya semudah mungkin bagi pemrogram untuk mengonversi tanggal dan waktu ke dalam format persis yang mereka inginkan. Dan dengan senang hati kami laporkan bahwa pencipta Java berhasil.
Menggunakannya sangat mudah. Pertama, Anda perlu membuat DateTimeFormatter
kelas dan meneruskan pola yang menentukan bagaimana tanggal dan waktu akan ditampilkan:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);
Dimana dtf
variabel DateTimeFormatter
. adalah metode statis kelas . Dan pattern adalah string yang menentukan pola yang akan digunakan untuk menampilkan tanggal dan waktu.DateTimeFormatter.ofPattern()
DateTimeFormatter
Contoh
Kode | Keluaran konsol |
---|---|
|
|
Pada contoh di atas, kita menggunakan ofPattern()
metode untuk membuat DateTimeFormatter
objek berdasarkan pola. Dan di baris berikutnya, kami menggunakan format()
metode untuk mengubah LocalDateTime
objek menjadi string. Anda melihat hasilnya di layar.
Anda dapat meneruskan hampir semua objek dari Date Time API ke metode format()
.
Statis ofPattern()
juga sangat sederhana: mengambil pola sebagai argumen dan mengembalikan DateTimeFormatter
objek. Bagian yang paling menarik ditemukan pada polanya.
2. Pola pemformatan
String yang diteruskan sebagai pola digunakan sebagai pola saat menampilkan informasi. MM diganti dengan angka bulan, dd dengan hari dalam bulan, dan yy dengan angka tahun. Kasus surat itu penting.
Tabel lengkap untuk pola waktu ini adalah sebagai berikut:
Surat | Arti |
---|---|
y | Tahun |
M | Bulan |
D | Hari |
H | Jam |
M | Menit |
S | Detik |
S | Seperseribu detik |
N | Nanodetik. |
Tidak terlalu sulit untuk diingat.
Tetapi mengapa pola pada contoh tersebut menyertakan huruf berulang MM, dd dan yy? Nah, di sinilah semakin menarik.
Ide umum
Jumlah huruf mempengaruhi panjang teks. Semakin banyak huruf, semakin panjang teksnya.
Jika huruf H ditentukan satu kali, maka 9 jam akan ditampilkan sebagai 9, tetapi jika huruf H ditentukan dua kali berturut-turut, maka 9 jam akan ditampilkan sebagai 09.
Jika huruf y dicantumkan 2 kali berturut-turut, maka tahun ditulis dengan menggunakan 2 angka. Jika terjadi 4 kali berturut-turut, maka digunakan 4 digit.
Jika huruf M ditentukan 2 kali berturut-turut, maka dituliskan angka bulannya. Jika 3 kali berturut-turut, maka digunakan nama bulan (3 huruf pertamanya). Jika 4 kali berturut-turut, maka digunakan nama lengkap bulan tersebut.
Contoh:
Kode | Keluaran konsol |
---|---|
|
|
3. Lengkapi tabel pola
Tabel lengkapnya cukup besar dan sangat menarik:
Pola | Variasi pola | Contoh | Keterangan |
---|---|---|---|
y | yy, yyyy | 19; 2019 | Tahun |
M/L | M, MM, MM, MMMM, MMMM | 1; 01; Jan; Januari; J | Bulan |
D | d, dd | 9; 09 | Hari |
H | H, HH | 2; 02 | Jam |
M | m, mm | 3; 03 | Menit |
S | s, ss | 5; 05 | Detik |
S | S, SS, SS, ... | 1; 12; 123 | Seperseribu detik |
N | N | 123456789 | Nanodetik |
G | G, GGGG, GGGG | IKLAN; Anno Domini; A; | Zaman |
Q/q | q, qq, qq, qqqq | 3; 03; Q3; kuartal ke-3 | Seperempat |
w | w | 13 | Minggu dalam setahun |
W | W | 3 | Minggu dalam sebulan |
e | EEE, EEEE, EEEEE | Senin; Senin; M | Hari di minggu ini |
e/c | e, ee, ee, eeee, eeee | 1; 01; Senin; Senin; M | Hari di minggu ini |
A | A | PM | AM atau PM |
H | H | 12 | jam 12 jam. |
V | VV | Eropa/Helsinki | Zona waktu |
z | z zzzz | EET; Waktu Standar Eropa Timur | Zona waktu |
HAI | O OOOO | GMT+2; GMT+02:00 | Zona waktu |
Omong-omong, ini sebenarnya bukan versi lengkap. Anda dapat menemukan versi terlengkap di sini .
4. Waktu penguraian
Kelas ini DateTimeFormatter
juga menarik karena kemampuannya tidak hanya mengonversi tanggal dan waktu menjadi string sesuai dengan pola yang diberikan, tetapi juga melakukan operasi kebalikannya!
Mengurai string adalah proses membaginya menjadi token yang bermakna.
Berikut tampilannya:
Kode | Keluaran konsol |
---|---|
|
|
Pertama, kita membuat DateTimeFormatter
objek dan mengatur pola yang digunakan untuk parsing.
Kemudian kita memanggil metode LocalDate.parse()
or LocalTime.parse()
atau LocalDateTime.parse()
dan meneruskan string yang akan diurai bersama dengan DateTimeFormatter
objek, yang memahami cara mengurai teks yang diteruskan dan pola apa yang harus digunakan untuk melakukannya.
Contoh lain: kali ini kita akan mengurai waktu.
Kode | Keluaran konsol |
---|---|
|
|
GO TO FULL VERSION