windows 获取.net中所有区域设置格式的列表

nhaq1z21  于 2023-06-30  发布在  Windows
关注(0)|答案(3)|浏览(138)

在“控制面板”->“区域和语言选项”中,有一个“格式”选项卡,其中包含所有可能的语言格式。我希望使用VB.NET检索此列表。有人能指出要使用哪个Windows API调用吗?
谢谢

7xllpg7q

7xllpg7q1#

你试过System.Globalization.CultureInfo.GetCultures(CultureTypes.AllCultures)吗?返回包含所有可用区域性的数组。不需要Windows API。查看其他CultureTypes值以筛选区域性列表。

gpnt7bae

gpnt7bae2#

您应该查看一下.net framework中的System.globalization.CultureInfo类。http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx

gj3fmq9x

gj3fmq9x3#

2023年答案:如果您正在寻找Windows区域格式,请确保使用.NET Framework,而不是.NET Core/. NET。
潜在差异的一个示例:

  • .NET 7中“ja-JP”的长日期格式:yyyy年M月d日dddd
  • Windows**和.NET Framework中“ja-JP”的长日期格式:yyyy'年'M'月'd'日'

除此之外,前面的答案都是正确的。
使用LINQPad 5的示例代码来捕获所有这些代码,以确保在下面使用.NET Framework:

CultureInfo.GetCultures(CultureTypes.AllCultures)
    .Select(ci => ci.Name)
    .Select(cu => new
    {
        Culture = cu,
        LongDateFormat = CultureInfo.GetCultureInfo(cu).DateTimeFormat.LongDatePattern,
        ShortDateFormat = CultureInfo.GetCultureInfo(cu).DateTimeFormat.ShortDatePattern
    })
    .Dump();

相关问题