Tôi đang cố gắng sử dụng DateTimeOffset để truyền đạt thời điểm cụ thể theo thời gian trên bất kỳ múi giờ nào. Tôi không thể tìm ra cách sử dụng TimeZoneInfo để xử lý thời gian tiết kiệm ánh sáng ban ngày.Cách sử dụng TimeZoneInfo để nhận giờ địa phương trong Thời gian Tiết kiệm Ánh sáng ban ngày?
var dt = DateTime.UtcNow;
Console.WriteLine(dt.ToLocalTime());
var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var utcOffset = new DateTimeOffset(dt, TimeSpan.Zero);
Console.WriteLine(utcOffset.ToOffset(tz.BaseUtcOffset));
này in ra:
6/2/2010 4:37:19 PM
6/2/2010 3:37:19 PM -06:00
Tôi đang ở múi giờ miền Trung, và và chúng tôi hiện đang trong thời gian tiết kiệm ánh sáng ban ngày. Tôi đang cố gắng đọc dòng thứ hai:
6/2/2010 4:37:19 PM -05:00
BaseUtcBộ ngoại tuyến dường như không thay đổi dựa trên DST.
Làm cách nào để có được đúng thời điểm với giá trị offset phù hợp?
+1 - nó làm tôi điên mà TimeZoneInfo.ConvertTimeBySystemTimeZoneId không chỉ làm việc cho :) này –