Mengira Tarikh Mula Minggu dalam C#
Menentukan hari pertama dalam seminggu adalah penting untuk banyak aplikasi, termasuk penjadualan dan analisis data. Artikel ini membentangkan dua kaedah untuk mengira tarikh mula minggu menggunakan masa semasa dalam C#.
Pendekatan 1: Kaedah Sambungan
Kaedah sambungan meningkatkan kefungsian kelas sedia ada. Kami akan membuat kaedah sambungan untuk kelas DateTime
untuk mengira permulaan minggu:
public static class DateTimeExtensions { public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek) { int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7; return dt.AddDays(-1 * diff).Date; } }
Kaedah ini mengambil masa DateTime
semasa dan hari permulaan yang diingini (cth., DayOfWeek.Monday
atau DayOfWeek.Sunday
). Ia mengira hari yang diperlukan untuk menolak untuk mencapai permulaan minggu.
Pendekatan 2: Menggunakan Calendar
Kelas
Kelas Calendar
menawarkan pendekatan lain:
Calendar calendar = CultureInfo.CurrentCulture.Calendar; DateTime startOfWeek = calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
Kaedah ini menggunakan tetapan kalendar budaya semasa untuk menentukan tarikh mula minggu, memandangkan DateTime
semasa dan hari pertama dalam minggu yang dikehendaki (DayOfWeek.Monday
di sini).
Contoh Pelaksanaan
Kaedah sambungan digunakan seperti ini:
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Monday); // Monday as the first day
Untuk menggunakan Ahad sebagai hari pertama:
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday); // Sunday as the first day
Ringkasan
Kedua-dua kaedah menentukan tarikh mula minggu dengan cekap. Pilihan terbaik bergantung pada keperluan anda dan fleksibiliti yang diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Menentukan Permulaan Minggu dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!