这些基于城市的时区(或任何你称之为)的时区Asia/Shanghai
,America/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}
答案 0 :(得分:1)
这些是IANA / Olson时区标识符,它们比.Net使用的Windows时区更加通用。阅读timezone tag wiki的“时区数据库”部分。
您可以使用几个库在.Net中使用它们,但最好的一个IMHO是Noda Time。使用此库,您根本不需要使用TimeZoneInfo
。