Mengambil Tahun, Bulan dan Hari dari Tarikh di Jawa

1. Gambaran keseluruhan

Dalam tutorial ringkas ini, kita akan melihat cara mengekstrak tahun , bulan dan hari dari Tarikh tertentu di Java.

Kami akan melihat cara mengekstrak nilai-nilai ini menggunakan kelas java.util.Date lama dan juga dengan menggunakan perpustakaan tarikh tarikh baru Java 8.

Di Java 8, perpustakaan tarikh dan waktu yang baru diperkenalkan dengan beberapa alasan yang baik. Selain kelebihan lain, perpustakaan baru menyediakan API yang lebih baik untuk operasi seperti mengekstrak Tahun , Bulan , Hari dll dari Tarikh yang diberikan .

Dan, jika anda mencari artikel yang lebih terperinci mengenai perpustakaan tarikh-tarikh baru, lihat di sini.

2. Menggunakan Java 7

Untuk java.util yang ditentukan. Tarikh untuk mengekstrak bidang masing-masing seperti Tahun , Bulan , Hari dan lain-lain, langkah pertama yang perlu kita lakukan ialah menukarnya menjadi contoh Kalendar :

Date date = // the date instance Calendar calendar = Calendar.getInstance(); calendar.setTime(date);

Setelah kita mempunyai contoh Kalendar , kita dapat secara langsung menggunakan kaedah mendapatkannya dan memberikan bidang tertentu yang ingin kita ekstrak.

Kita boleh menggunakan pemalar yang ada di Kalendar untuk mengekstrak bidang tertentu.

2.1. Dapatkan Tahun

Untuk mengekstrak tahun, kita boleh meminta mendapatkan dengan melewati Kalendar.YEAR sebagai argumen:

calendar.get(Calendar.YEAR);

2.2. Dapatkan Bulan

Begitu juga untuk mengekstrak bulan, kita boleh meminta mendapatkan dengan melewati Kalendar.MONTH sebagai argumen:

calendar.get(Calendar.MONTH);

Harap maklum bahawa bulan di Kalendar diindeks sifar; untuk bulan Januari kaedah ini akan mengembalikan 0.

2.3. Dapatkan Hari

Akhirnya, untuk mengekstrak hari itu, kami meminta mendapatkan dengan melewati Kalendar.DAY_OF_MONTH sebagai hujah:

calendar.get(Calendar.DAY_OF_MONTH);

3. Menggunakan Java 8

Pakej java.time baru mengandungi sebilangan kelas yang boleh digunakan untuk mewakili Tarikh .

Setiap kelas berbeza dengan maklumat tambahan yang disimpannya selain Tarikh .

LocalDate asas hanya mengandungi maklumat tarikh, sementara LocalDateTime mengandungi maklumat tarikh dan waktu.

Begitu juga, kelas yang lebih maju seperti OffsetDateTime dan ZonedDateTime mengandungi maklumat tambahan mengenai ofset dari UTC dan maklumat mengenai zon waktu masing - masing.

Bagaimanapun, semua kelas ini menyokong kaedah langsung untuk mengekstrak maklumat Tahun, Bulan dan Tarikh.

Mari kita meneroka kaedah ini untuk maklumat cabutan daripada yang LOCALDATE nama contoh LOCALDATE .

3.1. Dapatkan Tahun

Untuk mengekstrak Tahun, LocalDate hanya menyediakan kaedah getYear :

localDate.getYear();

3.2. Dapatkan Bulan

Begitu juga, untuk mengekstrak Bulan, kami menggunakan getMonthValue API:

localDate.getMonthValue();

Tidak seperti Kalendar , Bulan di LocalDate diindeks dari 1; untuk bulan Januari ini akan kembali 1.

3.3. Dapatkan Hari

Akhirnya, untuk mengekstrak Hari, kami mempunyai kaedah getDayOfMonth :

localDate.getDayOfMonth();

4. Kesimpulan

Dalam tutorial ringkas ini, kami telah meneroka cara mengekstrak nilai integer Tahun , Bulan dan Hari dari Tarikh di Jawa.

Kami telah menunjukkan cara mengekstrak nilai-nilai ini menggunakan kelas Tarikh dan Kalendar lama serta perpustakaan tarikh-tarikh baru Java8.

Kod sumber lengkap untuk potongan yang digunakan dalam tutorial ini boleh didapati di Github.