如何使用nodetime验证IANA字符串

本文关键字:IANA 字符串 验证 nodetime 何使用 | 更新日期: 2023-09-27 18:18:05

var easternTimeZone = DateTimeZoneProviders.Tzdb[timeZoneIdentifier];

使用NodaTime我应该如何验证,当字符串timeZoneIdentifier被设置为一个有效的IANA字符串,如"Europe/Stockholm",它被认为是有效的,但不支持的IANA字符串被拒绝。

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

如何使用nodetime验证IANA字符串

DateTimeZone tz = DateTimeZoneProviders.Tzdb.GetZoneOrNull(timeZoneIdentifier);
bool valid = tz != null;

或者,作为扩展方法:

public static bool IsValidTimeZone(this IDateTimeZoneProvider provider, string timeZoneId)
{
    return provider.GetZoneOrNull(timeZoneId) != null;
}