DateTimeFormatInfo::缩写日期名称的值在西班牙的.Net框架版本中是否发生过更改

本文关键字:是否 版本 框架 西班牙 日期 缩写 DateTimeFormatInfo Net | 更新日期: 2023-09-27 18:30:12

我有以下代码:

var thursday = new CultureInfo("es-ES").DateTimeFormat.AbbreviatedDayNames[4];

如预期的那样返回"ju."。

我刚刚继承了一些相当旧的代码,其中的测试代码期望值为"jue"。。。

我想知道,在.Net框架中,这种情况有没有改变?

编辑1-扩展:

我使用的是.Net 4.5…我有一台最近用Visual Studio 2013构建的机器,没有安装任何异常的东西。

        var format = new CultureInfo("es-ES").DateTimeFormat;
        Console.WriteLine("AbbreviatedDayNames:");
        foreach (var name in format.AbbreviatedDayNames)
        {
            Console.WriteLine(name);
        }
        Console.WriteLine("ShortestDayNames:");
        foreach (var name in format.ShortestDayNames)
        {
            Console.WriteLine(name);
        }

输出:

AbbreviatedDayNames:
do.
lu.
ma.
mi.
ju.
vi.
sá.
ShortestDayNames:
D
L
M
X
J
V
S

编辑2-我的机器是英国英语,尽管我不明白为什么如果我把文化指定为"es es"会有什么关系?

编辑3-奇怪:

https://dotnetfiddle.net/-朱回答。

http://www.compileonline.com/compile_csharp_online.php-返回jue

DateTimeFormatInfo::缩写日期名称的值在西班牙的.Net框架版本中是否发生过更改

在从操作系统获取日历信息的过程中,CalendarData对象在获取日历数据时进行C#到C++的转换。

阵列中值的操作系统版本和设置差异可能是导致此问题的原因,而不是实际的.NetFX更改。

您可以在上引用C#框架代码http://www.dotnetframework.org/default.aspx/4@0/4@0/DEVDIV_TFS/Dev10/Releases/RTMRel/ndp/clr/src/BCL/System/全球化/CalendarData@cs/1305376/CalendarData@cs并注意托管到本机包含的方法。

相关文章: