在.Net中转换基于城市的时区

时间:2013-02-21 05:16:28

标签: .net timezone

这些基于城市的时区(或任何你称之为)的时区Asia/ShanghaiAmerica/Los_Angeles广泛用于PHP和Java,例如,

java.util.TimeZone.TimeZone timeZoneNewYork = java.util.TimeZone.TimeZone.getTimeZone("America/New_York");

据我所知,.Net使用不同的密钥来获取相应的时区,America/New_York它是Eastern Standard Time

TimeZoneInfo timeZoneInfoNewYork = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");

如果我有基于城市的时区字符串,例如"America/New_York",如何将其转换为.Net中的正确时区TimeZoneInfo{Eastern Standard Time}

1 个答案:

答案 0 :(得分:1)

这些是IANA / Olson时区标识符,它们比.Net使用的Windows时区更加通用。阅读timezone tag wiki的“时区数据库”部分。

您可以使用几个库在.Net中使用它们,但最好的一个IMHO是Noda Time。使用此库,您根本不需要使用TimeZoneInfo

更新

I have posted conversion functions here