J'ai une fonction qui convertit de temps d'époque unix à une valeur DateTime .NET:Comment puis-je convertir à partir de l'heure unix et compte de l'heure d'été en C#?
public static DateTime FromUnixEpochTime(double unixTime)
{
DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return d.AddSeconds(unixTime);
}
Où je suis (Royaume-Uni) les horloges aller un heure avant l'heure d'été.
En Python, j'obtiens l'heure locale de l'époque en utilisant time.time()
(et pour les besoins de l'argument, en ce moment l'heure est 17:15:00) ce qui me donne une valeur de 1286122500
.
Si je le convertis à un temps lisible par l'homme en utilisant time.localtime()
, il convertit à 17:15 comme je m'y attendais. Comment puis-je convertir l'heure d'unix en une valeur .NET DateTime
ET tenir compte de l'heure d'été locale. Ma fonction ci-dessus convertit 1286122500
en 16:15 ce qui est incorrect pour ma position géographique.
+1, rien de plus compliqué n'est nécessaire ici. –
Ah ha ... J'ai essayé 'DateTimeKind.Local' dans le constructeur DateTime, je n'arrive pas à croire que j'ai manqué la méthode' .ToLocalTime() '. – Kev
Vieux mais bon. Merci. – kmarks2