【问题标题】:Convert city-based time zone in .Net在.Net中转换基于城市的时区
【发布时间】:2013-02-21 05:16:28
【问题描述】:

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

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

据我所知,.Net 使用不同的键来获取相应的时区,America/New_YorkEastern Standard Time

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

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

【问题讨论】:

标签: .net timezone


【解决方案1】:

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

在 .Net 中可以使用多个库来处理这些库,但恕我直言,最好的库是 Noda Time。有了这个库,您将完全需要使用TimeZoneInfo

更新

I have posted conversion functions here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    相关资源
    最近更新 更多