2009-08-09 12 views
11

Tengo una cadena, que contiene una marca de tiempo (aaaa-mm-dd hh: mm: ss). Puedo crear un objeto CultureInfo basado en otra información que obtengo. Por lo tanto, sé en qué país está la marca de tiempo. La marca de tiempo no está en UTC/GMT.Cómo obtener la zona horaria de las propiedades en CultureInfo

Di la marca de tiempo es de Indonesia (nuevo CultureInfo ("id-ID")), es decir, la cadena fue creado por DateTime.Now.ToString ("hh aaaa-MM-dd: mm: ss") o similar. Eso significa que la cadena contiene la hora local en Indonesia. Sé my zona horaria, pero no sé cómo convertir el tiempo de Indonesia a UTC/GMT, así que puedo usar el objeto UTC/GMT en TimeZoneInfo. Mi propia zona horaria puede o no estar en la misma zona horaria.

¿Hay algún lugar, esta información está conectada?

CultureInfo tiene muchas propiedades, seguramente algunas de ellas se pueden utilizar para obtener la zona horaria, ¿dónde?

Podría agregar que encuentro que todo el sistema es muy confuso, así que podría estar muy equivocado en cuanto a cómo creo que funcionan las cosas.

Respuesta

9

Respuesta corta: No

respuesta Largo: Esta es una relación de muchos a 1 entre la cultura y la zona horaria. Por ejemplo: es-US-English, American contiene 6 zonas horarias ... ¿cómo pasar de en-US a Eastern Daylight time? ... y ¿cómo obtienes las compensaciones de horario de verano?

Es un enigma cultural confuso (wow, intenta decir que 5 veces rápido) que no se puede solucionar fácilmente con el CLR.

+1

No Me di cuenta casi inmediatamente de que esto sería un desafío. He buscado en Google sobre abit, y encontré esta wiki [Zonas horarias por país] (http://en.wikipedia.org/wiki/Time_zones_by_country). No hay tantos países con tantos husos horarios. * Australia, Brasil, Canadá, Francia, Indonesia (heh), México, Nueva Zelanda, Rusia (!), Reino Unido, EE. UU. + - * Ahora usando eso como fuente de datos, y de forma predeterminada a la zona horaria de la ciudad capital para los países con un montón de tz, va por el camino. Apenas transmitiendo mi idea aquí. –

0

DateTimeOffset clase es la clave

Cuestiones relacionadas