(Android) Dapatkan hari pertama dalam seminggu

Bagaimana cara mendapatkan hari pertama dalam seminggu, ketika kita mengetahui salah satu tanggal dalam minggu itu?

Saya tahu bulan ini, tahun ini, dan tanggal minggu ini. Lalu, apakah ada cara untuk mengetahui hari pertama minggu ini.

Terima kasih.


person Yuya Okada    schedule 02.08.2014    source sumber
comment
Sudahkah anda mencari di google..?? Apa yang telah Anda coba.?   -  person SilentKiller    schedule 02.08.2014


Jawaban (4)


halo jika Anda perlu mendapatkan hari pertama minggu ini "senin"

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH,  Calendar.MONDAY-calendar.get(Calendar.DAY_OF_WEEK));
  Log.w(TAG, "first day of week" + calendar.getTime());

2 jika Anda membutuhkan hari pertama dalam seminggu untuk 20-12-2016

Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, 20);
        calendar.set(Calendar.MONTH,Calendar.DECEMBER);
        calendar.set(Calendar.YEAR,2016);
        calendar.add(Calendar.DAY_OF_MONTH,Calendar.MONDAY - calendar.get(Calendar.DAY_OF_WEEK));
    Log.w(TAG,"first day of week:"+calendar.getTime());

saya harap ini akan membantu Anda

person mlika    schedule 20.12.2016

Coba ini:

// dapatkan hari ini dan waktu yang jelas

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0); // ! clear would not reset the hour of day !
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);

// memulai minggu ini dalam milidetik

cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
System.out.println("Start of this week:       " + cal.getTime());
System.out.println("... in milliseconds:      " + cal.getTimeInMillis());

Referensi :Cara mendapatkan hari pertama minggu dan bulan ini?

Semoga ini dapat membantu Anda!

person Krupa Patel    schedule 02.08.2014

halo jika Anda perlu mendapatkan hari pertama minggu ini "senin"

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH,  Calendar.MONDAY-calendar.get(Calendar.DAY_OF_WEEK));
Log.w(TAG, "first day of week" + calendar.getTime());

2 jika Anda membutuhkan hari pertama dalam seminggu untuk 20-12-2016

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 20);
calendar.set(Calendar.MONTH,Calendar.DECEMBER);
calendar.set(Calendar.YEAR,2016);
calendar.add(Calendar.DAY_OF_MONTH,Calendar.MONDAY - calendar.get(Calendar.DAY_OF_WEEK));
Log.w(TAG,"first day of week:"+calendar.getTime());

saya harap ini akan membantu Anda

person mlika    schedule 20.12.2016

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