是否有我可以转换为“a”的方法;澳大利亚/墨尔本“;将时区转换为某个.net基类库对象?
我有一些来自第三方的数据,其中包括一些是否有我可以转换为“a”的方法;澳大利亚/墨尔本“;将时区转换为某个.net基类库对象?,.net,zoneinfo,.net,Zoneinfo,我有一些来自第三方的数据,其中包括一些字符串语言属性数据。检索到的一些示例数据如下所示: “澳大利亚/墨尔本” 当我调查属性数据类型的基础时,它是一个区域信息(tz数据库/Olson数据库)。那是Wtf吗?我在谷歌上搜索了一下,这是信息 听起来很多主要平台都在使用它。。。但不是.NET 因此,在我重新发明轮子(或者更确切地说,从codeplex站点更新代码以将db列表嵌入dll)之前,.NET基类库中是否已经存在此功能?将其转换为GMT? 查找+x小时或-x小时,然后从存储的日期/时间
字符串语言
属性数据。检索到的一些示例数据如下所示:
“澳大利亚/墨尔本”
当我调查属性数据类型的基础时,它是一个区域信息(tz数据库/Olson数据库)。那是Wtf吗?我在谷歌上搜索了一下,这是信息
TimeZoneInfo
类是我们得到的最好的支持,但是从Olson名称转换为Windows名称可能很棘手。理想情况下,您需要将Olson ID转换为Windows使用的ID。。。不过我不知道有没有
编辑:经过一点挖掘,有几个链接:
- 具有Win32 ID和Olson ID(,)之间的映射文件
- Unicode网站有一个
我不知道这些更新的频率有多高,但它们很可能是您的最佳选择。在代码项目上有一个很棒的.Net小库,它正好满足您的需要: 我在几个与谷歌API对话的项目中使用了它,因为它们的所有时区都是ZoneInfo/Olsen数据库格式
我还写了一篇关于设置它的博文:没有提供完整的时区信息。时区不仅仅是一个补偿。谢谢乔恩的回答。我担心.NET不支持它。。所以我将修改codeplex项目,将zoneinfo db嵌入到dll中,这样它就可以移植了。如果bcl中没有任何内容,我不介意从olson->TimeZoneInfo转换。干杯很抱歉从死里复活了这篇旧文章。。。但是Jon,你知道为什么BCL团队不支持区域信息吗?这是因为数据可以更改吗?如果是这样的话,正常的windows时钟/夏令时不是也有同样的问题吗。。这是支持的??我认为与其说是BCL团队,不如说是Windows本身——基本上,这是一种不同的“寻址”时区的方式,BCL团队选择了Windows方式(可以理解,尽管令人恼火)