0Pricing
C# Academy · Leçon

Calculs sur les dates

Ajoutez, soustrayez et comparez.

Calculs sur les dates est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 4 leçons au total.

Effectuer des calculs sur les dates

Les valeurs DateTime sont immuables : les calculs ne modifient jamais la valeur originale. Chaque opération renvoie plutôt un tout nouveau DateTime.

Cette leçon explique comment ajouter et soustraire du temps, comparer des dates et répondre à des questions telles que le nombre de jours avant un événement.

AddDays

La méthode AddDays renvoie une date située autant de jours plus tard. Transmettez un nombre négatif pour remonter dans le temps.

Comme DateTime est immuable, vous devez utiliser la valeur renvoyée : la valeur originale reste inchangée.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        DateTime later = d.AddDays(10);
        Console.WriteLine(later.ToString("yyyy-MM-dd"));
    }
}

La famille Add

Il existe une méthode Add pour chaque unité : AddHours, AddMinutes, AddSeconds, AddMonths et AddYears.

Elles acceptent toutes des nombres positifs ou négatifs, de sorte qu'un même ensemble de méthodes permet de gérer le futur comme le passé.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        Console.WriteLine(d.AddHours(5).Hour);
    }
}

AddMonths gère les dépassements

AddMonths tient compte intelligemment de la longueur des mois. Ajouter un mois au 31 janvier donne le 28 ou le 29 février, et non une date invalide.

Vous n'avez donc pas à vérifier manuellement le nombre de jours de chaque mois.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 1, 31);
        Console.WriteLine(d.AddMonths(1).ToString("yyyy-MM-dd"));
    }
}

Revenir en arrière

Pour remonter dans le passé, transmettez un argument négatif. AddDays(-7) renvoie la date située une semaine plus tôt.

Il n'existe pas de méthode distincte pour soustraire des jours : les valeurs négatives permettent de le faire simplement.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.AddDays(-7).ToString("yyyy-MM-dd"));
    }
}

Ajouter un TimeSpan

Vous pouvez ajouter directement un TimeSpan à un DateTime avec l'opérateur + ou avec la méthode Add.

C'est pratique lorsque vous disposez déjà d'une durée et que vous voulez décaler une date de cette durée.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        DateTime later = d + TimeSpan.FromHours(3);
        Console.WriteLine(later.Hour);
    }
}

Écart entre les dates

La soustraction d'une date à une autre produit un TimeSpan qui décrit l'intervalle entre elles.

Lisez TotalDays pour compter les jours qui les séparent, même lorsque l'intervalle couvre plusieurs mois ou années.

using System;

class Program
{
    static void Main()
    {
        DateTime start = new DateTime(2024, 1, 1);
        DateTime end = new DateTime(2024, 3, 1);
        Console.WriteLine((end - start).TotalDays);
    }
}

Nombre de jours avant un événement

Compter les jours avant une date future est une tâche courante. Soustrayez la date d'aujourd'hui de la date cible, puis lisez TotalDays ou Days.

L'utilisation de dates fixes ici rend la sortie prévisible pour l'apprentissage.

using System;

class Program
{
    static void Main()
    {
        DateTime today = new DateTime(2024, 3, 1);
        DateTime party = new DateTime(2024, 3, 15);
        Console.WriteLine((party - today).Days);
    }
}

Comparer des dates

Les valeurs DateTime se comparent avec <, > et ==. Une date antérieure est inférieure à une date ultérieure.

Il existe également des méthodes comme CompareTo et Equals lorsque vous avez besoin d'un résultat de comparaison formel.

using System;

class Program
{
    static void Main()
    {
        DateTime a = new DateTime(2024, 1, 1);
        DateTime b = new DateTime(2024, 6, 1);
        Console.WriteLine(a < b);
    }
}

Années bissextiles et nombre de jours du mois

Deux méthodes auxiliaires statiques répondent aux questions liées au calendrier. DateTime.IsLeapYear(year) renvoie true pour les années bissextiles.

DateTime.DaysInMonth(year, month) indique le nombre de jours d'un mois donné, en gérant correctement le mois de février.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(DateTime.IsLeapYear(2024));
        Console.WriteLine(DateTime.DaysInMonth(2024, 2));
    }
}

Début et fin de journée

Pour obtenir le début d'une journée, utilisez la propriété Date, qui supprime l'heure et la ramène à minuit.

Pour obtenir le dernier instant d'une journée, ajoutez un jour puis soustrayez un tick, ou ajoutez 23:59:59. La propriété Date constitue le point de départ le plus simple.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.Date.ToString("yyyy-MM-dd HH:mm"));
    }
}

Vérification rapide

Vous partez du 31 janvier 2024 et appelez AddMonths(1). Quelle date obtenez-vous ?

Récapitulatif

Les calculs sur DateTime renvoient de nouvelles valeurs. Décalez les dates avec AddDays, AddMonths et les méthodes similaires, en utilisant des valeurs négatives pour remonter dans le temps.

Soustrayez les dates pour obtenir un TimeSpan, comparez-les avec des opérateurs et utilisez IsLeapYear, DaysInMonth et Date pour les tâches liées au calendrier.

Questions Fréquemment Posées

La leçon « Calculs sur les dates » est-elle gratuite ?

Oui — le texte complet de « Calculs sur les dates » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Calculs sur les dates » ?

Ajoutez, soustrayez et comparez. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Calculs sur les dates » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Créer des DateTimes
  2. Formater des dates
  3. TimeSpan et durées
  4. Calculs sur les dates
← Retour à C# Academy