Ho scritto questa semplice app per console per testare quando cambiamo il fuso orario manualmente su Windows 7 utilizzando la finestra di data ora impostata se l'evento di time change è attivato o no? La risposta è sì si è innescata ma sto stampando ora corrente che non sta mostrando correttamente ..SystemEvent.TimeChange che mostra la stessa modifica di fuso orario anche
static void Main(string[] args)
{
SystemEvents.TimeChanged += new EventHandler(SystemEvents_TimeChanged);
Console.Read();
}
static void SystemEvents_TimeChanged(object sender, EventArgs e)
{
Console.WriteLine(DateTime.Now);
}
Una volta che si esegue console app e quindi provare a cambiare il fuso orario riflette sempre un cambiamento di tempo, ma poi in qualche modo bloccato per quella volta anche se cambi il fuso orario in un fuso orario diverso o uguale.
Mi manca qualcosa?
per verificare se l'ora del sistema è stata modificata o non ho aperto il prompt dei comandi e utilizzare la data e il comando "ora" per stampare l'ora corrente che si mostra perfetta in base al fuso orario.
Grazie Jon. Ho trovato lo stesso per il cache. Risolto. – user393014
Inoltre, non dimenticare di inserire CultureInfo.CurrentCulture.ClearCachedData(); prima di TimeZoneInfo.ClearCacheData(); – user393014
@ user393014: Hmm ... Non ho avuto bisogno di farlo. Cosa succede se non lo fai sul tuo computer? Il fuso orario –