Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengira Perbezaan Tarikh dengan Cekap dalam Tahun, Bulan, Minggu dan Hari?
Mengira Perbezaan Tarikh dalam Tahun/Bulan/Minggu/Hari
Apabila berhadapan dengan tugas menentukan perbezaan antara dua tarikh, adalah penting untuk mengenali potensi kerumitan yang terlibat. Hari boleh berbeza dalam kuantiti dan konsep seperti tahun lompat memperkenalkan komplikasi selanjutnya.
Untuk mengira perbezaan ini dengan berkesan, pertimbangkan untuk menentukan struktur Tempoh. Struktur ini akan merangkumi elemen tahun, bulan dan hari:
public struct Period { // ... (Definition of properties omitted) }
Seterusnya, laksanakan operator ' ' untuk membolehkan penambahan tempoh pada tarikh:
public static DateTime operator +(DateTime date, Period period) { // ... (Implementation omitted) }
Akhir sekali, cipta kaedah Perbezaan dalam struktur Tempoh untuk mengira perbezaan antara dua tarikh:
public static Period Difference(DateTime first, DateTime second) { // ... (Implementation omitted) }
Untuk memastikan ketepatan, mulakan dengan set ujian unit yang komprehensif, menangani kedua-dua senario asas dan lanjutan, termasuk tahun lompat.
Mengira Minggu
Walaupun minggu sentiasa terdiri daripada 7 hari, adalah penting untuk anda sedar bahawa tempoh negatif harus dielakkan. Untuk mengekstrak maklumat minggu dan hari daripada tempoh, gunakan logik berikut:
int years = period.Years; int months = period.Months; int weeks = period.Days / 7; int daysWithinWeek = period.Days % 7;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Tarikh dengan Cekap dalam Tahun, Bulan, Minggu dan Hari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!