本地时区不是系统时区的一部分

时间:2014-02-09 13:26:16

标签: c# .net timezone quartz.net

我正在使用Quartz.net调度框架。 当我添加规则时,它使用TimeZoneInfo.Local来获取本地时区。

当我想因某种原因删除规则时,它会按ID搜索系统时区的时区,使用:

TimeZoneInfo.FindSystemTimeZoneById 

通常这样可以正常工作,但我有一个客户端使用Windows Server 2008R2, 配置为耶路撒冷标准时间。

所以在这种情况下,TimeZoneInfo.Local返回:“耶路撒冷标准时间” 但这不是注册表中的关键,它应该是:“以色列标准时间” 这会导致整个操作失败。 那是怎么回事?这对我没有意义......

1 个答案:

答案 0 :(得分:1)

原因是因为某些东西正在使用TimeZoneInfo.StandardName而不是TimeZoneInfo.ID。对于所有时区,这些值是相同的,但3个时区除外,“耶路撒冷标准时间”是其中之一。

有关完整说明,请参阅以下链接: Why are some time zones returned by GetSystemTimeZones not found by FindSystemTimeZoneById?