Maison >développement back-end >C++ >Comment puis-je déterminer le début de la semaine (dimanche ou lundi) en C# ?

Comment puis-je déterminer le début de la semaine (dimanche ou lundi) en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-22 14:22:11297parcourir

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

Déterminer le début de la semaine en C#

C# propose plusieurs façons d'identifier le premier jour de la semaine, que ce soit dimanche ou lundi. Une tâche courante consiste à déterminer cela uniquement sur la base de la date et de l'heure actuelles.

Une solution flexible consiste à créer une méthode d'extension personnalisée qui vous permet de spécifier le jour de début souhaité. Cette méthode utilise l'arithmétique modulaire pour calculer la différence entre le jour en cours et le jour de début spécifié :

<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>

Cette méthode d'extension s'utilise comme ceci :

<code class="language-csharp">DateTime mondayStart = DateTime.Now.WeekStart(DayOfWeek.Monday);</code>

Cela renvoie la date du début de la semaine, commençant le lundi. Pour retrouver le début de semaine commençant dimanche :

<code class="language-csharp">DateTime sundayStart = DateTime.Now.WeekStart(DayOfWeek.Sunday);</code>

Cette approche offre un moyen simple et efficace de déterminer la date de début de la semaine, quel que soit le jour en cours. Ceci est particulièrement utile pour les tâches impliquant une planification ou des calculs hebdomadaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn