He escrito esta aplicación de consola simple para probar cuando cambiamos la zona horaria manualmente en Windows 7 usando la ventana de fecha y hora configurada si el evento timechange está activado o no. La respuesta es sí desencadenó pero estoy imprimiendo la hora actual que no se muestra correctamente ..SystemEvent.TimeChange mostrando la misma hora, incluso cambios de zona horaria
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 vez que ejecute la aplicación de consola y luego tratar de cambiar la zona horaria siempre refleja un cambio de hora, pero luego de alguna manera pegado a ese momento, incluso si cambia la zona horaria a diferentes zonas horarias o lo mismo.
¿Echo de menos algo?
para verificar si la hora del sistema ha cambiado o no, he abierto el símbolo del sistema y uso el comando de fecha y 'hora' para imprimir la hora actual que muestra la información perfecta según la zona horaria.
Gracias Jon. Encontré lo mismo sobre el caché. Resuelto – user393014
Además, no olvide poner CultureInfo.CurrentCulture.ClearCachedData(); antes de TimeZoneInfo.ClearCacheData(); – user393014
@ user393014: Hmm ... No necesitaba hacer eso. ¿Qué pasa si no haces eso en tu máquina? –