在这种情况下,noda-time是否适用?

时间:2012-10-15 18:48:19

标签: c# datetime time timezone nodatime

我工作的项目基本上是一个数据收集器。通过方向,可以将其视为具有应用层(OSI第7层)的解析/分析功能的Wireshark(或等效物)。目前的版本是传统的MFC应用程序,已有15年以上的历史。它仍然有效,但维护,稳定性和可扩展性是我们面临的真正问题。项目领导团队最近同意我们需要开始开发下一代产品,我们的目标是.NET,因为该产品严格来说是基于Windows桌面的产品。

鉴于我们的用户经常分析世界各地收集的日志文件,因此消息时间戳非常重要。当前产品使用_ftime_s()来分配时间戳,我假设我们将在.NET端使用System.DateTime.UtcNow来获取将来的时间戳。也就是说,直到我读到noda-time。现在,我认为我们的问题领域需要更多关注与时间相关的功能,而不是我曾经考虑过的。

所以有几个问题。

  1. 根据我上面提供的说明,使用NodaTime.Instantnoda-time合并到时间戳中是否有意义?

  2. 考虑到一个选择,我更倾向于支付专门的支持,而不是使用开源项目来担心(偏执狂?)该项目被放弃了。那些更倾向于接受开源哲学的人对这一点有任何想法或指导吗?

  3. noda-time目前处于第二次测试阶段。 NodaTime 1.0.0是否有目标日期?

1 个答案:

答案 0 :(得分:5)

  1. 正如Matt所说,您可以轻松地使用DateTimeOffset来表示及时。我认为它不像使用Instant那么明确,因为它表明你可能实际对本地时间和偏移感兴趣,而不是真正只是一个时间戳 - 但是如果这是唯一的原因你使用Noda Time,坚持使用DateTimeOffset是有道理的。

  2. 这是一种合理的恐惧,但你个人的说法是我不打算放弃Noda Time。当然,相反的论点是,如果我 放弃它,你仍然可以修补它 - 而如果你使用商业产品而公司折叠,你就会被困住:)我确实理解这个问题。

  3. 碰巧,我希望今天发布v1.0.0 :)