Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Permulaan Minggu dalam C#?

Bagaimanakah Saya Boleh Mendapatkan Permulaan Minggu dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-22 14:13:09548semak imbas

How Can I Get the Start of the Week in C#?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn