gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:17:22 24 4
gpt4 key购买 nike

在 NodaTime 中,如何根据 tz 时区 ID 找到时区的长格式名称?

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

最佳答案

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

我最近建立了一个名为“时区名称”的库,其中嵌入了 CLDR 时区名称。您可以将它们与 Noda Time 时区使用的 IANA (TZDB) 标识符一起使用。

只需传递时区和语言,它就会提供相应的通用名称、标准名称和夏令时名称。您可以使用 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

关于c# - NodaTime 中时区的长格式名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25085981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com