2010-07-23 51 views
5

Làm cách nào để chuyển đổi DateTime từ EST/EDT thành GMT nhưng tôi không biết mã sẽ chạy ở đâu (múi giờ địa phương không xác định) và cũng tiết kiệm thời gian ...chuyển đổi từ EST/EDT sang GMT

+0

Câu hỏi liên quan - http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices – Oded

Trả lời

7

Bạn muốn TimeZoneInfo.ConvertTimeToUtc(), cho phép bạn chuyển thông tin múi giờ nguồn dưới dạng thông số. Ví dụ:

TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
DateTime someDateTimeInUtc = TimeZoneInfo.ConvertTimeToUtc(someDateTime, est); 

tôi nghĩ này sẽ tự động xử lý thời gian ánh sáng ban ngày tiết kiệm, nhưng bạn sẽ muốn kiểm tra nó để đảm bảo.

+0

xin lỗi tôi là giờ đông nên có thể là EST hoặc EDT (Giờ ban ngày miền đông) – Comma

+0

nó bị rơi khi tôi sử dụng thời gian đông – Comma

+0

Yup ... nếu bạn nhìn vào tài liệu, và sau đó tìm trong registry của bạn (nơi FindSystemTimeZoneInfoById() hiện tra cứu của nó), bạn sẽ thấy rằng "Eastern Standard Time" chính có một Phím chức năng "Dynamic DST" ... vì vậy * hy vọng * cuộc gọi ConvertTimeToUtc() sẽ sử dụng nó khi cần thiết. – JaredReisinger

0

Hãy xem qua lớp TimeZoneInfo.

Các vấn đề liên quan