Mengira Tarikh Mula Minggu dalam C#
Banyak tugas pengaturcaraan memerlukan mengenal pasti permulaan minggu. Walaupun C# tidak menawarkan fungsi terbina dalam untuk ini, kami boleh membuatnya dengan mudah menggunakan kaedah sambungan.
Kaedah sambungan meningkatkan kelas sedia ada tanpa mengubah kod asalnya. Kami akan mentakrifkan kaedah sambungan kami dalam kelas statik untuk melanjutkan kelas DateTime
:
<code class="language-csharp">public static class DateTimeExtensions { public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek = DayOfWeek.Monday) { int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7; return dt.AddDays(-1 * diff).Date; } }</code>
Kaedah StartOfWeek
menjana objek DateTime
baharu yang mewakili permulaan minggu, berdasarkan parameter startOfWeek
yang disediakan. Lalai ialah hari Isnin. Untuk menggunakan Ahad sebagai permulaan, berikan DayOfWeek.Sunday
sebagai hujah.
Menggunakan kaedah sambungan adalah mudah:
<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(); // Defaults to Monday</code>
Ini mengembalikan permulaan minggu semasa (Isnin). Untuk memulakan minggu pada hari Ahad:
<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Permulaan Minggu dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!