Convertir un horodatage Unix en DateTime dans .NET
Introduction
Un horodatage Unix est un nombre entier représentant le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC. Dans les applications .NET, il est fréquent de devoir convertir un horodatage Unix en un objet DateTime pour pouvoir manipuler la date et l'heure de manière conviviale.
Méthodes de Conversion
Voici les méthodes les plus courantes pour convertir un horodatage Unix en DateTime dans .NET :
1. Utilisation de la classe DateTime
La classe DateTime propose une méthode statique FromUnixTimeSeconds()
qui permet de convertir un horodatage Unix en DateTime.
// Horodatage Unix
long timestampUnix = 1678787200;
// Conversion en DateTime
DateTime dateTime = DateTime.FromUnixTimeSeconds(timestampUnix);
// Affichage de la date et de l'heure
Console.WriteLine(dateTime); // Affiche: 13/03/2023 10:00:00
2. Utilisation de la classe DateTimeOffset
La classe DateTimeOffset permet de gérer les fuseaux horaires. Pour convertir un horodatage Unix en DateTimeOffset, il faut utiliser la méthode FromUnixTimeSeconds()
et spécifier le fuseau horaire souhaité.
// Horodatage Unix
long timestampUnix = 1678787200;
// Conversion en DateTimeOffset avec le fuseau horaire UTC
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(timestampUnix);
// Affichage de la date et de l'heure
Console.WriteLine(dateTimeOffset); // Affiche: 13/03/2023 10:00:00 +00:00
Conclusion
Convertir un horodatage Unix en DateTime dans .NET est une tâche simple grâce aux méthodes fournies par les classes DateTime et DateTimeOffset. En utilisant la méthode FromUnixTimeSeconds()
, vous pouvez facilement obtenir un objet DateTime ou DateTimeOffset représentant la date et l'heure correspondantes.