Maison >développement back-end >C++ >Comment puis-je obtenir le début de la semaine en 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!