Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menentukan Permulaan Minggu (Ahad atau Isnin) dalam C#?

Bagaimanakah Saya Boleh Menentukan Permulaan Minggu (Ahad atau Isnin) dalam C#?

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

How Can I Determine the Start of the Week (Sunday or Monday) in C#?

Menentukan Permulaan Minggu dalam C#

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!

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