Tôi có một chức năng có thể chuyển đổi theo thời kỷ nguyên unix đến một giá trị NET DateTime:Làm cách nào để chuyển đổi từ thời gian kết hợp unix và tài khoản cho thời gian tiết kiệm ánh sáng ban ngày trong C#?
public static DateTime FromUnixEpochTime(double unixTime)
{
DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return d.AddSeconds(unixTime);
}
Tôi đang ở đâu (Anh) đồng hồ đi một giờ về phía trước cho thời gian mùa hè.
Trong Python, tôi có được thời gian Epoch địa phương bằng cách sử dụng time.time()
(và vì lợi ích của đối số, ngay bây giờ là 17:15:00) mang lại cho tôi giá trị 1286122500
.
Nếu tôi chuyển đổi điều này trở lại thời gian có thể đọc được bằng cách sử dụng time.localtime()
, nó chuyển đổi về 17:15 như tôi mong đợi.
Làm cách nào để chuyển đổi thời gian thời gian unix trở lại thành giá trị .NET DateTime
VÀ tài khoản cho thời gian tiết kiệm ánh sáng ban ngày cục bộ. Chức năng của tôi ở trên chuyển đổi 1286122500
trở lại 16:15 không đúng với vị trí địa lý của tôi.
+1, không có gì phức tạp hơn là cần thiết ở đây. –
Ah ha ... Tôi đã thử 'DateTimeKind.Local' trong hàm tạo DateTime, không thể tin rằng tôi đã bỏ lỡ phương thức' .ToLocalTime() '. – Kev
Cũ nhưng tốt. Cảm ơn. – kmarks2