estoy buscando para implementar una función con una firma algo como lo siguiente:TimeZoneInfo y códigos de país
bool IsTimeZoneValid(string countryCode, DateTime localTime);
La intención es determinar si el país tiene una zona horaria en la que la hora local sería válida , dado que sabemos la hora UTC actual. Digamos, por el bien del argumento, que "válido" significa que cuando se convierte a UTC, el tiempo es de +/- 30 minutos a partir de lo que creemos que es el momento.
Por ejemplo, decir que actualmente es 03/08/2009 18:25:00 UTC y luego se le dio la siguiente llamada de método para Australia, debe devolver true
ya que es una hora válida en la zona "Hora estándar del este":
IsTimeZoneValid("AU", DateTime.Parse("04/08/2009 03:25:00"));
Sin embargo, la siguiente llamada para Francia debe fallar ya que no es una hora válida en la zona horaria de Francia.
IsTimeZoneValid("FR", DateTime.Parse("04/08/2009 03:25:00"));
Esto tiene que ser exacta, y tener en cuenta el horario de ahorro, etc.
.NET 3.5 incluye la nueva clase TimeZoneInfo
que puede hacer un montón de la conversión para mí si sé qué zonas horarias existen en un país específico, pero parece que no puedo encontrar ninguna búsqueda incorporada para esto. ¿Me estoy perdiendo algo o tendré que crear manualmente una tabla de asignaciones de zonas horarias?
Para reiterar, mi pregunta es: Dado un código de país, ¿cómo puedo obtener una lista de zonas horarias. Alternativamente, ¿hay alguna otra manera de abordar esto que me he perdido?
+1 También me gusta mucho ser capaz de obtener los husos horarios válidos para un país determinado. –