首页 > 解决方案 > System.TimeZoneNotFoundException:“在本地计算机上找不到时区 ID 'Asia/Jerusalem'。”

问题描述

在此处输入图像描述

有人可以帮助我吗?我什么都试过了!

标签: c#timezone

解决方案


“Asia/Jerusalem”是IANA 时区数据库(又名 tzdb 或 tz 或 zoneinfo)所使用样式的 ID。Windows 使用自己的时区 ID,这些 ID 非常不同。

如果您想以跨平台方式使用 IANA 时区,我建议您使用我维护的Noda Time 项目,而不是TimeZoneInfo.

此外,诸如“自纪元以来的秒数”之类的值通常不是时区敏感的;Unix 纪元固定在 1970-01-01T00:00:00 UTC,而不是“每个时区的当地时间 1970 年 1 月 1 日午夜”。虽然这样的值可能很有用(我们在 Noda Time 内部有这个概念),但在使用它之前我会仔细考虑理想情况下,坚持更高级别的抽象 - 在 Noda Time 中,我建议使用ZonedDateTime,InstantLocalDateTime,具体取决于您的要求。


推荐阅读