.net 如果我不使用野田佳彦时间,我应该将Windows时区映射到IANA时区吗?

.net 如果我不使用野田佳彦时间,我应该将Windows时区映射到IANA时区吗?,.net,timezone,dst,.net,Timezone,Dst,我需要让用户从asp.net web应用程序的菜单中选择时区。根据TimeZoneInfo.GetSystemTimeZones返回的列表,该菜单当前包含102个区域。如您所知,此列表不如IANA时区列表或tz数据库完整 我知道野田佳彦时代支持IANA/tz数据库。不幸的是,由于范围限制,我无法将noda time应用于我的解决方案 问题:我是否应该将菜单更改为具有IANA时区,然后将这些时区映射到102个Windows时区 现在我倾向于否定。我看到的问题是,实现这种映射隐藏了一个事实,即我的应

我需要让用户从asp.net web应用程序的菜单中选择时区。根据TimeZoneInfo.GetSystemTimeZones返回的列表,该菜单当前包含102个区域。如您所知,此列表不如IANA时区列表或tz数据库完整

我知道野田佳彦时代支持IANA/tz数据库。不幸的是,由于范围限制,我无法将noda time应用于我的解决方案

问题:我是否应该将菜单更改为具有IANA时区,然后将这些时区映射到102个Windows时区


现在我倾向于否定。我看到的问题是,实现这种映射隐藏了一个事实,即我的应用程序实际上不支持IANA时区。Windows时区更通用,因此DST规则不如IANA准确。我只是想得到第二个意见。谢谢。

如果您的应用程序实现了.Net TimeZoneInfo,那么您可能只需要通过TimeZoneInfo对象的DisplayName属性显示Windows时区,然后将相应的Id属性存储为用户的时区选择

另一方面,如果要公开基于地图的时区选择选择器,如或,则可以使用其生成的IANA时区ID映射到Windows区域。但是,如果您不需要这样的UI,那么就不用为它们操心了