如何从CultureInfo中的属性获取时区

CS.*_*CS. 11 c# timezone cultureinfo

我有一个字符串,其中包含一个时间戳(yyyy-mm-dd hh:mm:ss).我可以CultureInfo根据我得到的其他信息创建一个对象.因此,我知道时间戳所在的国家/地区.时间戳不是UTC/GMT.

假设时间戳来自Indonesia (new CultureInfo("id-ID")),意味着该字符串是由下面的代码或类似代码创建的.

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
Run Code Online (Sandbox Code Playgroud)

这意味着该字符串包含印度尼西亚当地时间.我知道我的时区,但我不知道如何将印度尼西亚时间转换为UTC/GMT,所以我可以使用UTC/GMT对象TimeZoneInfo.我自己的时区可能在同一时区,也可能不在同一时区.

有没有,这个信息是连接的?

CultureInfo 有很多属性,肯定有些属性可以用来获得时区,somwhere?

我可能会补充一点,我发现整个系统非常混乱,所以我觉得我认为事情是如何运作的.

Jef*_*itz 9

简答:不

长答案:这是文化与时区之间的一对多关系.例如:en-US - 英语,美国包含6个时区......那么你如何从美国到东部夏令时?......你如何获得夏令时补偿?

这是一个令人困惑的文化难题(哇,尝试说快5倍),这是CLR难以解决的问题.

  • 不,我很快就注意到这将是一个挑战。我在谷歌上搜索了 abit,找到了这个 wiki [按国家/地区划分的时区](http://en.wikipedia.org/wiki/Time_zones_by_country)。拥有这么多时区的国家并不多。*澳大利亚、巴西、加拿大、法国、印度尼西亚(呵呵)、墨西哥、新西兰、俄罗斯(!)、英国、美国 +-* 现在使用它作为数据源,对于拥有大量数据的国家,默认为首都时区tz,一路走来。只是在这里发表我的想法。 (2认同)