Moment.js преобразование часового пояса C# .NET
Есть ли доступный плагин C#, который обрабатывает все часовые пояса moment.js.
Мне трудно сравнивать даты в бэкэнде, поскольку часовые пояса из moment.js не совпадают с часовыми поясами из.net DateTime.
Мне нужно преобразовать время в Utc, прежде чем сравнивать различные даты в разных часовых поясах. Я использую nodatime, и он может обрабатывать некоторые часовые пояса, но не все.
Благодарю.
РЕДАКТИРОВАТЬ: NodaTime обрабатывал большинство часовых поясов, но мне все еще нужно покрыть сокращения. Есть ли что-то для этого доступно?
Благодарю.
1 ответ
Решение
Таким образом, NodaTime обрабатывал часовые пояса Олсона, а также 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;
}