Qualcuno può spiegare come una DaylightSavingsRule può avere un & # 8220; StartMonth & # 8221; dopo che è & # 8220; EndMonth & # 8221 ;?
Domanda
Usando C # (il framework .NET), sto eseguendo il ciclo tra tutti i TimeZones e le loro AdjustmentRules ... e per "Mauritius Standard Time" {(GMT + 04: 00) Port Louis)} - la regola di regolazione è la seguente:
IsFixed = false;
DaylightTransitionStart.Month = 10;
DaylightTransitionEnd.Month = 1;
Da quanto ho capito, 'IsFixed = false' significa che non uso " StartDate " e " EndDate " campi ... ma piuttosto, devo usare DaylightTransitionStart e End per determinare dinamicamente se l'ora è o meno l'ora legale.
IL PROBLEMA qui è che, per circa 30 regole di transizione, il " StartMonth " è DOPO il " EndMonth "
In che modo DaylightSavingsTime può iniziare in "ottobre 2008" e terminare in "gennaio 2008"?
Per favore, aiutami a capire questo ... una volta superato questo ostacolo, dovrei avere una conversione completa in qualsiasi momento e da UTC con qualsiasi fuso orario per tutta la cronologia " Funzione SQL scritta.
Soluzione
Un periodo di tempo non può logicamente terminare prima che inizi, ma forse stai supponendo che questi mesi si riferiscano a mesi dello stesso anno in cui i PTOM potrebbero essere nel 2008 ma JAN è nel 2009.
Consideralo come un elenco collegato in modo circolare.
La classe DaylightTime utilizza una DateTime sia per l'inizio che per la fine del periodo di ora legale, quindi entrambi specificano un anno.
Altri suggerimenti
Non sarebbe questo il caso dei paesi a sud dell'equatore?
C'è questa cosa chiamata emisfero sud. Forse ne hai sentito parlare.
In Australia, l'ora legale inizia intorno a ottobre e termina intorno a marzo (negli Stati che lo hanno).
potrebbe essere nell'emisfero australe, l'ora legale inizia ad ottobre e termina a marzo in alcune parti dell'Australia
Due anni diversi. per esempio. inizio anno 09 fine anno 10