datetime - Moment.js 时区转换 C# .NET

标签 datetime timezone momentjs date-conversion nodatime

是否有一个可用的 C# 插件可以处理所有 moment.js 时区。

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

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

谢谢。

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

谢谢。

最佳答案

因此,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;
    }

关于datetime - Moment.js 时区转换 C# .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988581/

相关文章:

python - Python 中的动态单行打印(时间?)

java - 将 Json 日期转换为 java 日期

Java - 不同时区的当前时间

java - 使用 DateFormat.getDateTimeInstance().format(date);

highcharts - 海图时区

javascript - Highchart Vue - 如何包含 momentjs?

datetime - 如何从包含 PHP 日期时间值的字符串中获取时区?

java - 将 Javascript new Date 转换为 Java joda DateTime 格式

javascript - 如何使用 moment.js 获取年、月和日中的 2 个日期之间的差异

javascript - Moment JS fromnow() 输出速记