Menentukan Tarikh Hari Minggu Akan Datang dalam .NET
Konsep "hari minggu berikutnya" boleh menjadi samar-samar, kerana ia bergantung kepada hari semasa dalam seminggu. Berikut ialah beberapa cara untuk mendekati ini dalam C# menggunakan perpustakaan .NET:
"Selasa Seterusnya Akan Berlaku, atau Hari Ini jika Sudah Hari Selasa"
Pendekatan ini mengembalikan hari Selasa terdekat, iaitu sama ada hari ini atau tarikh akan datang:
DateTime today = DateTime.Today; int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)today.DayOfWeek + 7) % 7; DateTime nextTuesday = today.AddDays(daysUntilTuesday);
"Masa Seminggu dari Sekarang, Genap jika sudah hari Selasa"
Pendekatan ini kembali pada hari Selasa berikutnya, tetapi melangkau seminggu jika sudah Selasa:
int daysUntilTuesday = (((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7) + 1;
"Esok atau Selasa Seterusnya akan Berlaku , atau Esok jika Hari Selasa"
Pendekatan ini kembali pada Selasa berikutnya, tetapi bermula dari esok untuk mengelakkan kelewatan minggu tambahan:
DateTime tomorrow = DateTime.Today.AddDays(1); int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)tomorrow.DayOfWeek + 7) % 7; DateTime nextTuesday = tomorrow.AddDays(daysUntilTuesday);
Kaedah Serbaguna untuk Mana-mana Hari Minggu
Untuk mengendalikan mana-mana hari bekerja, buat kaedah generik GetNextWeekday yang mengambil DateTime dan DayOfWeek sebagai input :
public static DateTime GetNextWeekday(DateTime start, DayOfWeek day) { int daysToAdd = ((int) day - (int) start.DayOfWeek + 7) % 7; return start.AddDays(daysToAdd); }
Penggunaan Contoh
DateTime nextTuesday = GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday);
DateTime nextTuesday = GetNextWeekday(DateTime.Today.AddDays(1), DayOfWeek.Tuesday);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Tarikh Hari Minggu Seterusnya dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!