2011-02-09 4 views
3

일광 스위치가 발생할 때마다 트리거되는 이벤트가 있습니다. 봄 컷 오버 가을 컷 오버입니다 3. 종료 날짜 시간입니다 1. 날짜 시간 :C# 일광 절약 시간 DateTime 스위치

나는 봄/가을 스위치는이 날 2 날짜 시간을 반환

TimeZone.CurrentTimeZone.GetDaylightChanges(year) 

사용 일어날 때 얻을.

스프링 전달이 정상적으로 작동합니다.

하지만 가을은 내가 끝내는 시간이 2.00 CST입니다. 그래서 내가 1 초를 빼면 나는 1.59.59 CST를 얻는다. 그래서 사건은 한 시간 후에 해고 당한다. 1.59.59 CDT에 대한 트리거를 설정해야합니다. 이 Datetime은 어떻게 구성합니까?

답변

1

시간 변경을 시작하기 전에 1 초 동안 설정하려고합니다. UTC로 변환 한 다음 델타와 다른 초를 뺍니다.

DateTime fall; //set to 2:00 AM CST 
DaylightTime time; //Filled from your GetDaylightChanges() call. 
DateTime fallAdjusted = fall.ToUniversalTime().Subtract(time.Delta).AddSeconds(-1); 
+0

동의, UTC를 사용하십시오. 당신이하려는 것은 실제로 존재하지 않는 시간을 사용하는 것입니다. –

관련 문제