Mengekstrak Tahun, Bulan dan Hari dari Tanggal di Jawa

1. Ikhtisar

Dalam tutorial singkat ini, kita akan melihat bagaimana mengekstrak tahun , bulan dan hari dari Tanggal tertentu di Java.

Kita akan melihat bagaimana mengekstrak nilai-nilai ini menggunakan kelas java.util.Date lama dan juga dengan menggunakan perpustakaan tanggal-waktu baru Java 8.

Di Java 8, perpustakaan tanggal dan waktu yang sama sekali baru diperkenalkan untuk sejumlah alasan bagus. Selain keuntungan lainnya, perpustakaan baru menyediakan API yang lebih baik untuk operasi seperti mengekstrak Tahun , Bulan , Hari , dll. Dari Tanggal tertentu .

Dan, jika Anda mencari artikel yang lebih mendetail tentang perpustakaan tanggal-waktu yang baru, lihat di sini.

2. Menggunakan Java 7

Untuk java.util.Date tertentu untuk mengekstrak bidang individual seperti Tahun , Bulan , Hari , dll. Langkah pertama yang perlu kita lakukan adalah mengubahnya menjadi contoh Kalender :

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

Setelah kita memiliki instance Kalender , kita dapat langsung memanggil metode get -nya dan menyediakan bidang spesifik yang ingin kita ekstrak.

Kita dapat menggunakan konstanta yang ada di Kalender untuk mengekstrak bidang tertentu.

2.1. Dapatkan Tahun

Untuk mengekstrak tahun, kita bisa memanggil get dengan melewatkan Calendar.YEAR sebagai argumen:

calendar.get(Calendar.YEAR);

2.2. Dapatkan Bulan

Demikian pula untuk mengekstrak bulan, kita bisa memanggil get dengan meneruskan Calendar.MONTH sebagai argumen:

calendar.get(Calendar.MONTH);

Harap dicatat bahwa bulan-bulan di Kalender tidak diindeks; untuk bulan Januari metode ini akan mengembalikan 0.

2.3. Get Day

Terakhir, untuk mengekstrak hari itu, kita memanggil get dengan meneruskan Calendar.DAY_OF_MONTH sebagai argumen:

calendar.get(Calendar.DAY_OF_MONTH);

3. Menggunakan Java 8

Paket java.time baru berisi sejumlah kelas yang dapat digunakan untuk merepresentasikan Tanggal .

Setiap kelas berbeda dengan informasi tambahan yang disimpannya selain Tanggal .

LocalDate dasar hanya berisi informasi tanggal, sedangkan LocalDateTime berisi informasi tanggal dan waktu.

Demikian pula, kelas yang lebih maju seperti OffsetDateTime dan ZonedDateTime berisi informasi tambahan tentang offset dari UTC dan informasi tentang zona waktu masing - masing.

Bagaimanapun, semua kelas ini mendukung metode langsung untuk mengekstrak informasi Tahun, Bulan dan Tanggal.

Mari kita menjelajahi metode ini untuk informasi ekstrak dari sebuah LOCALDATE nama contoh LOCALDATE .

3.1. Dapatkan Tahun

Untuk mengekstrak Year, LocalDate hanya menyediakan metode getYear :

localDate.getYear();

3.2. Dapatkan Bulan

Demikian pula, untuk mengekstrak Bulan, kami menggunakan getMonthValue API:

localDate.getMonthValue();

Tidak seperti Kalender , Bulan di LocalDate diindeks dari 1; untuk Januari ini akan menghasilkan 1.

3.3. Get Day

Terakhir, untuk mengekstrak Day, kami memiliki metode getDayOfMonth :

localDate.getDayOfMonth();

4. Kesimpulan

Dalam tutorial singkat ini, kita telah mempelajari cara mengekstrak nilai integer Tahun , Bulan dan Hari dari Tanggal di Java.

Kami telah menunjukkan cara mengekstrak nilai-nilai ini menggunakan kelas Tanggal dan Kalender lama serta perpustakaan tanggal-waktu baru Java8.

Kode sumber lengkap untuk potongan yang digunakan dalam tutorial ini tersedia di Github.