Tôi có dòng mã này:C# DateTime vấn đề trừ múi giờ
double seconds = new DateTime(2006,7,6,12,1,0,DateTimeKind.Local).Subtract(new DateTime(1970,1,1,0,0,0,DateTimeKind.Local).TotalSeconds;
Đây không phải là số đúng tôi muốn, vì vậy tôi thử như sau:
double seconds = new DateTime(2006,7,6,12,1,0,DateTimeKind.Local).Subtract(new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc).TotalSeconds;
(Sự khác biệt là trong một trường hợp, tôi sử dụng thời gian địa phương cho thời đại, và trong trường hợp khác, tôi sử dụng UTC). Điều thú vị là, cả hai đều mang lại cho tôi giá trị như nhau, và tôi không biết tại sao lại như vậy. Tôi sống ở -600 GMT, vì vậy DateTimeKind.Local thực sự sẽ ảnh hưởng đến mọi thứ.
Cảm ơn trước!
cho các hồ sơ, nó thực sự đã kết thúc như thế này: double seconds = TimeZoneInfo.ConvertTimeToUtc (new DateTime (2006,7,6,12,1,0, DateTimeKind.Local)). Trừ (new DateTime (1970,1,1,0,0, 0, DateTimeKind.Local) .TotalSeconds – codersarepeople