Changing Moment.js C # .NET point in time

Is there a C # plugin available that handles all time.js timezones.

I'm having a hard time comparing dates in the backend since the timezones from moment.js don't match the timezones from .net DateTime.

I need to convert times to Utc before comparing different dates to dates. I am using nodatime and it is capable of handling some of the time zones, but not all.

Thank.

EDIT: NodaTime handled most timezones, but I still need to cover the abbreviations. Is there something for this?

Thank.

+3


source to share


1 answer


So NodaTime handled Olson's time zones as well as GMT +, UTC and others. For acronyms I solved with this



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;
    }

      

+2


source







All Articles