加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – NodaTime中时区的长格式名称

发布时间:2020-12-15 04:21:07 所属栏目:百科 来源:网络整理
导读:在NodaTime中,如果给出tz时区id,你如何找到时区的长格式名称? 例如,如果我提供“America / Los_Angeles”,我应该回到“太平洋标准时间”. 解决方法 生成时区名称的“长格式”所需的信息不在Noda Time中,但可以在 CLDR中找到. 我最近整理了一个名为“时区名
在NodaTime中,如果给出tz时区id,你如何找到时区的长格式名称?

例如,如果我提供“America / Los_Angeles”,我应该回到“太平洋标准时间”.

解决方法

生成时区名称的“长格式”所需的信息不在Noda Time中,但可以在 CLDR中找到.

我最近整理了一个名为“时区名称”的库,它嵌入了CLDR时区名称.您可以将这些标识与Noda Time时区使用的IANA(TZDB)标识符一起使用.

> Install from NuGet
> Source on GitHub
>有关使用和输出的示例,请参阅unit tests.

只需传递时区和语言,它将提供适当的通用名称,标准名称和日光名称.您可以使用Noda Time来决定哪种形式适合显示.

var names = TimeZoneNames.GetNamesForTimeZone("America/Los_Angeles","en-US");

Assert.Equal("Pacific Time",names.Generic);
Assert.Equal("Pacific Standard Time",names.Standard);
Assert.Equal("Pacific Daylight Time",names.Daylight);

对于该语言,您可以传递两位数的代码,如“en”,或者您可以传递完全区域化的版本,例如“en-US”.这与CultureInfo名称一致,因此如果您愿意,可以传递CultureInfo.CurrentUICulture.Name.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读