C# có tính đến thời gian tiết kiệm ánh sáng ban ngày khi chuyển đổi giữa các múi giờ không?TimeZoneInfo có tính đến DST không?
Tôi có ngày nguồn hiện tại ở Luân Đôn và tôi muốn chuyển đổi múi giờ thành múi giờ của tôi (CET). Đây là mã tôi đang sử dụng.
DateTime time = DateTime.ParseExact(timeString, "HH:mm", null);
time = DateTime.SpecifyKind(time, DateTimeKind.Unspecified);
//Convert it to the right timezone. It is currently in GMT
TimeZoneInfo gmt = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
TimeZoneInfo current = TimeZoneInfo.Local;
DateTime utc = TimeZoneInfo.ConvertTimeToUtc(time, gmt);
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utc, core.startTime = local;
Nó hiện đang hoạt động tốt. Tuy nhiên khi DST xé đầu xấu xí của nó, nó sẽ tiếp tục làm việc hay nó sẽ phá vỡ khủng khiếp? Tôi hơi cảnh giác với TimeZones do có rất nhiều vấn đề trong quá khứ.
Bạn nhận ra rằng Luân Đôn không có trên GMT, phải không? Vì bây giờ là mùa hè ở Bắc bán cầu, Luân Đôn đang ở trên UTC + 1 khi bạn đang ở trên UTC + 2. – Gabe
Xem vấn đề của tôi là gì? Tôi không muốn đánh dấu nó là BST (đó là thời gian hiện tại) bởi vì khi nó dừng lại BST nó quay trở lại GMT. Tôi hy vọng nó tự động. Tôi HATE múi giờ. – Aabela
May mắn thay cho bạn, nó sẽ tự động sử dụng BST cho thời gian trong mùa hè và GMT cho thời gian trong mùa đông. Bạn đúng là 'TimeZone' có vấn đề, nhưng đó là những gì' TimeZoneInfo' đã được tạo ra. – Gabe