Mam funkcję, która przekształca od czasu epoki Uniksa do wartości .NET DateTime:Jak przekonwertować czas i czas unixu na czas letni w C#?
public static DateTime FromUnixEpochTime(double unixTime)
{
DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return d.AddSeconds(unixTime);
}
Gdzie jestem (UK) zegary pójść na czas letni jedna godzina do przodu.
W języku Python uzyskuję lokalny czas Epoki, używając time.time()
(i ze względu na argument, teraz jest 17:15:00), co daje mi wartość 1286122500
.
Jeśli skonwertuję ten tekst z powrotem na czas czytelny dla człowieka za pomocą time.localtime()
, to zostanie on przekonwertowany z powrotem na 17:15, jak można się spodziewać.
Jak przekonwertować czas epoki unix z powrotem na wartość .NET DateTime
Wartość I konto dla lokalnego czasu letniego. Powyższa funkcja powoduje konwersję 1286122500
z powrotem na 16:15, co jest nieprawidłowe w mojej lokalizacji geograficznej.
+1, tutaj nie potrzeba niczego bardziej skomplikowanego. –
Ah ha ... Próbowałem 'DateTimeKind.Local' w konstruktorze DateTime, nie mogę uwierzyć, że przegapiłem metodę' .ToLocalTime() '. – Kev
Stary, ale dobry. Dzięki. – kmarks2