C-SHARP - 6.2 DateTime
La structure DateTime du langage C# est le point d'entrée pour représenter et manipuler des instants précis dans le temps. Une instance encapsule à la fois une date (jour, mois, année) et une heure (heure, minute, seconde, milliseconde), avec une précision suffisante pour les besoins courants des applications professionnelles. On l'utilise dès qu'il s'agit d'horodater un événement, d'enregistrer une création de ressource ou de calculer un âge.
La création d'un DateTime se fait par plusieurs voies : un constructeur explicite avec les composants, l'utilisation des propriétés DateTime.Now ou DateTime.UtcNow, ou encore le parsing d'une chaîne de caractères via DateTime.Parse ou DateTime.TryParse. Cette dernière forme est recommandée lorsque la donnée provient d'une saisie utilisateur ou d'un fichier externe, car elle gère proprement les valeurs invalides sans lever d'exception.
Une fois l'instance créée, on accède à ses composants via les propriétés Year, Month, Day, Hour, Minute, Second. La manipulation arithmétique passe par les méthodes AddDays, AddHours, AddMonths et leurs équivalents, qui retournent une nouvelle instance plutôt que de modifier l'existante : DateTime est immuable, ce qui sécurise son usage dans du code partagé entre threads.
Le formatage d'affichage repose sur la méthode ToString avec un paramètre de format standard ou personnalisé : "d" pour la date courte, "D" pour la date longue, "yyyy-MM-dd HH:mm:ss" pour un format ISO lisible. Pour des cas plus avancés (durées, décalages horaires explicites, fuseaux), le langage propose les types complémentaires TimeSpan et DateTimeOffset, qui font l'objet des prochaines vidéos de cette section.