【发布时间】:2012-11-09 10:00:14
【问题描述】:
我刚刚开始使用 NodaTime。在我的应用程序中,用户创建一个事件并选择一个时区。无论我使用 BCL (Windows) 时区列表还是 TZDB (Olson) 列表(不要混合使用它们!),我都需要将时区的 id 持久化到我的数据库中,以便以后可以重新创建时区- 感知时间。
鉴于时区 id 似乎有些随意,并且不是 ISO 标准,我是否可以依靠将来调用 GetZoneOrNull 时始终找到该 id?
我假设 GetZoneOrNull 方法是防止这种情况发生的方法;也就是说,当它被传递一个不存在于它自己的 Ids 集合中的 id 时。我的问题是:如果从 Ids 集合中检索到一个 id,我可以相信 GetZoneOrNull 将来永远不会返回 null 吗?
但如果一个 Id 可以从历史中消失,那么最好的应对策略是什么?
【问题讨论】: