2009-08-09 8 views
11

J'ai une chaîne qui contient un horodatage (aaaa-mm-jj hh: mm: ss). Je peux créer un objet CultureInfo basé sur d'autres informations que je reçois. Par conséquent, je sais dans quel pays se trouve l'horodatage. L'horodatage n'est pas en UTC/GMT.Comment obtenir le fuseau horaire des propriétés dans CultureInfo

Say l'horodatage est de l'Indonésie (nouveau CultureInfo ("id-ID")), ce qui signifie la chaîne a été créé par DateTime.Now.ToString ("aaaa-MM-JJ hh: mm: ss") ou similaire. Cela signifie que la chaîne contient l'heure locale en Indonésie. Je sais mon fuseau horaire, mais je ne sais pas comment convertir l'heure indonésienne en UTC/GMT, donc je peux utiliser l'objet UTC/GMT dans TimeZoneInfo. Mon propre fuseau horaire peut être ou ne pas être dans le même fuseau horaire.

Y a-t-il quelque part, cette information est-elle connectée?

CultureInfo a beaucoup de propriétés, sûrement certaines d'entre elles peuvent être utilisées pour obtenir le fuseau horaire, quelque part?

Je pourrais ajouter que je trouve le système entier très confus, donc je pourrais être loin dans la façon dont je pense que les choses fonctionnent.

Répondre

9

Réponse courte: Non

Réponse longue: Ceci est un 1 à plusieurs entre la culture et le fuseau horaire. Par exemple: fr-FR - Anglais, Américain contient 6 fuseaux horaires ... alors comment voulez-vous passer de l'heure en-H à l'heure avancée de l'Est? ... et comment obtenez-vous les compensations de l'heure d'été?

C'est une énigme culturelle déroutante (wow, essayez de dire que 5 fois plus vite) qui n'est pas facilement résoluble avec le CLR.

+1

Non, j'ai remarqué à peu près immédiatement que ce serait un défi. J'ai cherché sur abit, et j'ai trouvé ce wiki [Fuseaux horaires par pays] (http://en.wikipedia.org/wiki/Time_zones_by_country). Il n'y a pas beaucoup de pays avec autant de fuseaux horaires. * Australie, Brésil, Canada, France, Indonésie (heh), Mexique, Nouvelle-Zélande, Russie (!), Royaume-Uni, États-Unis + - * Maintenant en utilisant cela comme source de données, et par défaut au fuseau horaire de la capitale pour les pays avec beaucoup de tz, ça va le long chemin. Juste aérer mon idée ici. –

0

La classe DateTimeOffset est la clé

Questions connexes