Calcul des différences de date en année/mois/semaine/jour
Lorsque nous sommes confrontés à la tâche de déterminer la différence entre deux dates, il est impératif reconnaître les complexités potentielles impliquées. Le nombre de jours peut varier et des concepts tels que les années bissextiles introduisent d'autres complications.
Pour calculer efficacement cette différence, envisagez de définir une structure de période. Cette structure encapsulera les éléments des années, des mois et des jours :
public struct Period { // ... (Definition of properties omitted) }
Ensuite, implémentez l'opérateur ' " pour permettre l'ajout d'un point à une date :
public static DateTime operator +(DateTime date, Period period) { // ... (Implementation omitted) }
Enfin, créez une méthode Différence dans la structure Période pour calculer la différence entre deux dates :
public static Period Difference(DateTime first, DateTime second) { // ... (Implementation omitted) }
Pour garantir l'exactitude, commencez par un ensemble complet de tests unitaires, abordant à la fois des scénarios de base et avancés, y compris les années bissextiles.
Calcul des semaines
Bien que les semaines se composent toujours de 7 jours, il est important d'être conscient que les périodes négatives devrait être évité. Pour extraire les informations sur la semaine et le jour d'une période, utilisez la logique suivante :
int years = period.Years; int months = period.Months; int weeks = period.Days / 7; int daysWithinWeek = period.Days % 7;
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!