C# menawarkan beberapa cara untuk mengenal pasti hari pertama dalam seminggu, sama ada hari Ahad atau Isnin. Tugas biasa melibatkan penentuan ini berdasarkan tarikh dan masa semasa sahaja.
Penyelesaian yang fleksibel ialah mencipta kaedah sambungan tersuai yang membolehkan anda menentukan hari permulaan yang diingini. Kaedah ini menggunakan aritmetik modular untuk mengira perbezaan antara hari semasa dan hari mula yang ditentukan:
<code class="language-csharp">public static class DateTimeExtensions { public static DateTime WeekStart(this DateTime dt, DayOfWeek startOfWeek) { int offset = (7 + (dt.DayOfWeek - startOfWeek)) % 7; return dt.AddDays(-offset).Date; } }</code>
Kaedah sambungan ini digunakan seperti ini:
<code class="language-csharp">DateTime mondayStart = DateTime.Now.WeekStart(DayOfWeek.Monday);</code>
Ini mengembalikan tarikh permulaan minggu, bermula pada hari Isnin. Untuk mencari permulaan minggu bermula pada hari Ahad:
<code class="language-csharp">DateTime sundayStart = DateTime.Now.WeekStart(DayOfWeek.Sunday);</code>
Pendekatan ini menyediakan cara yang mudah dan cekap untuk menentukan tarikh permulaan minggu, tanpa mengira hari semasa. Ini amat berguna untuk tugasan yang melibatkan penjadualan atau pengiraan mingguan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Permulaan Minggu (Ahad atau Isnin) dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!