tl;dr
Pendekatan modern menggunakan kelas java.time daripada kelas Calendar
& Date
lama yang merepotkan.
LocalDate.of( 2017 , Month.MARCH , 23 )
.with( TemporalAdjusters.previousOrSame( DayOfWeek.MONDAY ) )
LocalDate
Kelas LocalDate
mewakili tanggal saja nilai tanpa waktu hari dan tanpa zona waktu.
LocalDate someDate = LocalDate.of( 2017 , Month.MARCH , 23 ) ;
TemporalAdjuster
Untuk mendapatkan hari pertama dalam seminggu, (a) tentukan hari pertama dalam minggu itu untuk Anda, (b) gunakan TemporalAdjuster
ditentukan dalam TemporalAdjusters
untuk mendapatkan tanggal untuk objek DayOfWeek
enum tertentu.
LocalDate ld = someDate.with( TemporalAdjusters.previousOrSame( DayOfWeek.MONDAY ) ) ;
Tentang Java.time
Kerangka kerja java.time adalah dibangun di Java 8 dan yang lebih baru. Kelas-kelas ini menggantikan kelas tanggal-waktu warisan lama yang merepotkan seperti java.util.Date
, Calendar
, & SimpleDateFormat
.
Proyek Joda-Time, kini berada di mode pemeliharaan, menyarankan migrasi ke java.time kelas.
Untuk mempelajari lebih lanjut, lihat Tutorial Oracle. Dan cari Stack Overflow untuk mendapatkan banyak contoh dan penjelasan. Spesifikasinya adalah JSR 310.
Di mana mendapatkan kelas java.time?
person
Basil Bourque
schedule
10.05.2017