如何使用 nodatime 验证 IANA 字符串?

How to validate an IANA string with nodatime?

var easternTimeZone = DateTimeZoneProviders.Tzdb[timeZoneIdentifier];

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

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

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

或者,作为扩展方法:

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