.net Datetime Date Only

4 min read Jun 03, 2024
.net Datetime Date Only

Travailler avec les dates uniquement dans .NET DateTime

Le type de données DateTime dans .NET est très polyvalent et permet de stocker à la fois une date et une heure. Cependant, il arrive souvent que vous n'ayez besoin que de la date elle-même, sans l'heure. Dans ces cas, il est possible d'utiliser des propriétés et des méthodes spécifiques de la classe DateTime pour manipuler uniquement la date.

Obtenir la date uniquement à partir d'un objet DateTime

Pour obtenir la date uniquement à partir d'un objet DateTime, vous pouvez utiliser la propriété Date. Cette propriété retourne un nouvel objet DateTime avec l'heure définie à minuit (00:00:00).

DateTime dateTime = DateTime.Now;
DateTime dateOnly = dateTime.Date;

Console.WriteLine(dateTime); // Affiche la date et l'heure actuelle
Console.WriteLine(dateOnly); // Affiche la date actuelle à minuit

Comparer deux dates sans tenir compte de l'heure

Lorsque vous devez comparer deux dates sans tenir compte de l'heure, vous pouvez utiliser la propriété Date pour obtenir les dates uniquement et ensuite les comparer.

DateTime date1 = new DateTime(2023, 10, 26, 10, 30, 0);
DateTime date2 = new DateTime(2023, 10, 26, 15, 00, 0);

if (date1.Date == date2.Date)
{
    Console.WriteLine("Les deux dates sont identiques.");
}
else
{
    Console.WriteLine("Les deux dates sont différentes.");
}

Créer une nouvelle date avec une heure spécifique

Si vous souhaitez créer une nouvelle date avec une heure spécifique, vous pouvez utiliser la méthode AddHours ou d'autres méthodes similaires.

DateTime dateOnly = DateTime.Now.Date;
DateTime newDate = dateOnly.AddHours(10); // Créer une nouvelle date avec l'heure 10h00

Console.WriteLine(newDate); // Affiche la date actuelle à 10h00

Utiliser les objets DateOnly et TimeOnly (C# 9 et versions ultérieures)

En C# 9 et versions ultérieures, vous pouvez utiliser les nouveaux types DateOnly et TimeOnly pour représenter uniquement la date ou l'heure.

DateOnly dateOnly = DateOnly.FromDateTime(DateTime.Now);
TimeOnly timeOnly = TimeOnly.FromDateTime(DateTime.Now);

Console.WriteLine(dateOnly); // Affiche la date actuelle
Console.WriteLine(timeOnly); // Affiche l'heure actuelle

En utilisant ces types, vous pouvez éviter les ambiguïtés et rendre votre code plus clair.

En conclusion, la classe DateTime de .NET vous offre plusieurs options pour travailler avec les dates uniquement. Vous pouvez utiliser les propriétés Date, les méthodes AddHours ou les nouveaux types DateOnly et TimeOnly pour obtenir la date uniquement, la comparer avec d'autres dates ou créer de nouvelles dates avec une heure spécifique.

Related Post