Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengira Perbezaan Tarikh dengan Cekap dalam Android/Java?

Barbara Streisand
Lepaskan: 2024-11-21 06:02:09
asal
856 orang telah melayarinya

How to Efficiently Calculate the Date Difference in Android/Java?

Menentukan Perbezaan Tarikh dalam Android/Java

Mengira perbezaan antara dua tarikh adalah keperluan biasa dalam pelbagai aplikasi. Dalam pengaturcaraan Android, terdapat berbilang pendekatan untuk menentukan bilangan hari antara tarikh semasa dan tarikh tertentu dalam format "yyyy/mm/dd."

Menggunakan Perpustakaan JodaTime

Untuk penyelesaian yang boleh dipercayai dan fleksibel, pertimbangkan untuk menggunakan perpustakaan JodaTime. Ia menyediakan keupayaan pengendalian tarikh dan manipulasi yang mantap. Berikut ialah contoh:

import org.joda.time.LocalDate;
import org.joda.time.Period;
import org.joda.time.PeriodType;

LocalDate today = LocalDate.now();
LocalDate thatDay = LocalDate.parse("1985/08/25");

Period period = new Period(thatDay, today, PeriodType.days());
long days = period.getDays();
Salin selepas log masuk

Pendekatan ini menggunakan JodaTime untuk menghuraikan rentetan tarikh yang diberikan dan mengira perbezaan hari dari hari ini.

Penghampiran Manual

Sebagai alternatif, anda boleh mencuba anggaran manual menggunakan langkah berikut:

  • Hilang rentetan tarikh yang diberikan ke dalam nilai integer individu untuk tahun, bulan dan hari.
  • Buat dua Kalendar kejadian, satu untuk tarikh semasa dan satu untuk tarikh yang diberikan, dan tetapkan medan masing-masing.
  • Kira perbezaan masa dalam milisaat antara dua kejadian Kalendar.
  • Bahagikan perbezaan masa dengan bilangan milisaat dalam sehari (24 60 60 * 1000) untuk mendapatkan anggaran bilangan hari.

Contoh Kod:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date d = formatter.parse("1985/08/25");

Calendar thatDay = Calendar.getInstance();
thatDay.setTime(d);
Calendar today = Calendar.getInstance();

long diff = today.getTimeInMillis() - thatDay.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
Salin selepas log masuk

Nota: Anggaran manual ini mungkin tidak tepat sepenuhnya untuk tarikh yang hampir dengan sempadan tahun atau bulan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Tarikh dengan Cekap dalam Android/Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan