Convertir DateOnly en DateTime dans .NET Core
Introduction
Dans le monde du développement .NET Core, la manipulation des dates est une tâche courante. La nouvelle classe DateOnly
introduite dans .NET 6 offre un moyen pratique de représenter uniquement la date sans l'heure. Cependant, il peut arriver que vous ayez besoin de convertir un objet DateOnly
en un objet DateTime
pour certains scénarios. Cet article vous guidera à travers les différentes méthodes pour convertir un DateOnly
en DateTime
.
Utilisation de la propriété ToDateTime
La manière la plus simple de convertir un DateOnly
en DateTime
est d'utiliser la propriété ToDateTime
. Cette propriété retourne un objet DateTime
avec l'heure définie à minuit (00:00:00).
DateOnly dateOnly = new DateOnly(2023, 10, 27);
DateTime dateTime = dateOnly.ToDateTime(TimeOnly.MinValue);
Console.WriteLine(dateTime); // Affiche "2023-10-27 00:00:00"
Utilisation de la classe DateTime
Vous pouvez également utiliser le constructeur de la classe DateTime
pour créer un nouvel objet DateTime
à partir d'un DateOnly
.
DateOnly dateOnly = new DateOnly(2023, 10, 27);
DateTime dateTime = new DateTime(dateOnly.Year, dateOnly.Month, dateOnly.Day);
Console.WriteLine(dateTime); // Affiche "2023-10-27 00:00:00"
Utilisation de la méthode AddDays
Si vous avez besoin de créer un objet DateTime
avec une heure différente de minuit, vous pouvez utiliser la méthode AddDays
de la classe DateTime
.
DateOnly dateOnly = new DateOnly(2023, 10, 27);
DateTime dateTime = dateOnly.ToDateTime(TimeOnly.MinValue).AddHours(12);
Console.WriteLine(dateTime); // Affiche "2023-10-27 12:00:00"
Remarques
Il est important de noter que la conversion d'un DateOnly
en DateTime
implique la perte de l'information sur l'heure. Si l'heure est importante pour votre application, assurez-vous de la conserver ou de la définir explicitement lors de la conversion.
Conclusion
Convertir un DateOnly
en DateTime
dans .NET Core est une opération simple qui peut être réalisée en utilisant différentes méthodes. Vous pouvez choisir la méthode qui correspond le mieux à vos besoins et à votre cas d'utilisation. N'oubliez pas de tenir compte de l'information sur l'heure lors de la conversion et de la définir explicitement si nécessaire.