Maison >développement back-end >C++ >Comment puis-je obtenir le début de la semaine en C# ?

Comment puis-je obtenir le début de la semaine en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-22 14:13:09524parcourir

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

Calcul de la date de début de la semaine en C#

De nombreuses tâches de programmation nécessitent d'identifier le début d'une semaine. Bien que C# n'offre pas de fonction intégrée pour cela, nous pouvons facilement en créer une à l'aide d'une méthode d'extension.

Les méthodes d'extension améliorent les classes existantes sans altérer leur code d'origine. Nous allons définir notre méthode d'extension au sein d'une classe statique pour étendre la classe 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>

La méthode StartOfWeek génère un nouvel objet DateTime représentant le début de la semaine, basé sur le paramètre startOfWeek fourni. La valeur par défaut est lundi. Pour utiliser dimanche comme début, passez DayOfWeek.Sunday comme argument.

L'utilisation de la méthode d'extension est simple :

<code class="language-csharp">DateTime dt = DateTime.Now.StartOfWeek(); // Defaults to Monday</code>

Cela renvoie le début de la semaine en cours (lundi). Pour commencer la semaine dimanche :

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

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