Moment.js时区转换C#.NET

时间:2014-09-23 06:45:05

标签: datetime timezone momentjs date-conversion nodatime

是否有可用的c#插件处理所有moment.js时区。

我很难比较后端的日期,因为来自moment.js的时区与.net DateTime中的时区不同。

我需要在比较不同的时间日期之前将时间转换为Utc。 我正在使用nodatime,它能够处理一些时区但不是全部。

感谢。

编辑: NodaTime处理了大部分时区,但我仍需要覆盖缩写。有什么可用的吗?

感谢。

1 个答案:

答案 0 :(得分:2)

所以NodaTime处理了Olson时区以及GMT +,UTC等。对于缩写,我决定用这个

public static DateTimeZone GetTimeZone(string id)
    {
        DateTimeZone timezone = DateTimeZoneProviders.Tzdb.GetZoneOrNull(id);

        if (timezone == null) {
            var instant = Instant.FromDateTimeUtc(DateTime.UtcNow);
            var source = DateTimeZoneProviders.Tzdb;
            id = source.Ids.Where(i => source[i].GetZoneInterval(instant).Name == id).FirstOrDefault();
            timezone = DateTimeZoneProviders.Tzdb.GetZoneOrNull(id);
        }

        return timezone;
    }