2010-11-07 6 views
6

Tôi muốn biết chính xác thời gian khi DST bắt đầu/kết thúc trong một múi giờ và năm cụ thể.Làm thế nào để tìm ra thời gian thực tế khi DST bắt đầu/kết thúc cho một múi giờ và năm cụ thể?

Sử dụng TimeZoneInfo.GetAdjustmentRulesAdjustmentRule.DaylightTransitionStart Tôi có thể nhận đối tượng TransitionTime chỉ định quy tắc thời điểm bắt đầu DST.

Giả sử rằng tôi tìm quy tắc điều chỉnh áp dụng cho năm 2010. Làm cách nào để chuyển đổi đối tượng TransitionTime thành DateTime vào năm 2010?

Timezone: (UTC-05:00) Eastern Time (US & Canada) 
Valid: 01.01.2007 00:00:00 - 31.12.9999 00:00:00 
DST Start TransitionTime: 
    IsFixedDateRule: false 
    Month: 3 
    Week: 2 
    DayOfWeek: Sunday 
    TimeOfDay: 02:00:00 

Trả lời

8

MSDN có sample. Xem chức năng DisplayTransitionInfo ở dưới cùng.

+0

Điều lạ lùng là 'TimeZoneInfo' có' chế độ GetDaylightTime tĩnh (int year, TimeZoneInfo.AdjustmentRule) 'trả về' DaylightTime' với các thuộc tính 'Start' và' End' 'DateTime'. Tôi không hiểu tại sao điều này là riêng tư? CLS tuân thủ? –