首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新NodaTime.xml的NodaTime .NET?

如何更新NodaTime.xml的NodaTime .NET?
EN

Stack Overflow用户
提问于 2014-07-23 07:24:48
回答 1查看 365关注 0票数 0

我是NodaTime的新手,用它做样品。NodaTime很棒,在阅读NodaTime实现的文档时,我注意到与NodaTime.dll库一起下载了一个文件(包含时区数据)。

我使用"Nuget软件包“将NodaTime库添加到我的项目中,在项目中安装NodaTime包时,我在bin文件夹中看到了NodaTime.dll和NodaTime.xml。

关于我的项目中安装的库的NodaTime信息:

代码语言:javascript
复制
   NodaTime.dll version 1.3.0
   NodaTime.xml (came along with the NodaTime.dll)

问题:

  1. 我需要手动更新NodaTime.xml吗?
  2. 在这个链接(更新tz数据库)中,我阅读了一些用于更新tz数据库的信息,但这似乎让我感到困惑。如何下载和更新NodaTime.xml文件?
  3. 为更新NodaTime.xml文件和一些相关路径提供一个简短的解释?
  4. 有什么链接可以帮助我理解NodaTime中的更新吗?

此外,还提供您的宝贵建议,为它的问题和解决方案,一些宝贵的提示,使用它。

NodaTime在我的项目中的主要作用是查找给定时区是否有DST,并根据DST转换日期时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 18:52:51

XML文档文件和时区(nzd)文件之间的混淆。您根本不需要更新XML文件。

要获得TZDB数据的最新版本,您应该:

  • 获取(并存储) http://nodatime.org/tzdb/latest.txt的内容。那只是个URL。
  • 如果这与您上次获取的值不同,则应该获取URL的内容,例如http://nodatime.org/tzdb/tzdb2014e.nzd
  • 打开下载文件的流(这将取决于您的平台,但类似于FileStream),并使用TzdbDateTimeZoneSource.FromStream从它加载TzdbDateTimeZoneSource
  • TzdbDateTimeZoneSource封装在DateTimeZoneCache中(与构造函数一起使用)以获得IDateTimeZoneProvider,这是您应该在主要应用程序代码中使用的

如果您的应用程序定期重新启动,您可能会在启动时执行此操作--如果它类似于需要不断运行的web服务器,仅仅因为您需要一种告诉应用程序使用新IDateTimeZoneProvider的方法,这就会稍微困难一些。

当然,这就是文档中已经说过的--你已经说过,你觉得它令人困惑,但不是以什么方式.如果这个答案还不清楚,请详细说明,我会看看我能做些什么。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24904225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档