C# 在西班牙的.Net framework版本中,DateTimeFormatInfo::AbstratedDaynames的值是否发生过变化?
我有以下代码:C# 在西班牙的.Net framework版本中,DateTimeFormatInfo::AbstratedDaynames的值是否发生过变化?,c#,.net,C#,.net,我有以下代码: var thursday = new CultureInfo("es-ES").DateTimeFormat.AbbreviatedDayNames[4]; 返回“ju.”,如预期的那样 我刚刚继承了一些非常旧的代码,其中的测试代码期望值为“jue” 我想知道,在.Net框架中,这种情况是否发生过变化 编辑1-要扩展: 我正在使用.NET4.5。。。我最近用Visual Studio 2013构建了一台机器,但没有安装任何异常的设备 var format = n
var thursday = new CultureInfo("es-ES").DateTimeFormat.AbbreviatedDayNames[4];
返回“ju.”,如预期的那样
我刚刚继承了一些非常旧的代码,其中的测试代码期望值为“jue”
我想知道,在.Net框架中,这种情况是否发生过变化
编辑1-要扩展:
我正在使用.NET4.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”,这有什么关系
编辑3-奇怪:
-返回朱
返回JUE < P>日历数据对象在获取日历数据时,将C→C++转换为从OS获取日历信息的方式。p> 阵列中的值的操作系统版本和设置差异可能是导致此问题的原因,而不是实际的.NetFX更改
您可以在中引用C#框架代码,并注意托管到本机包含的方法 它在我身上返回
jue
。您的.NET Framework版本是什么?我使用.NETFramework4.5。您确定没有将其与最短的日期名称混用吗?因为它有ju
。在.NET Framework 2、3、3.5和4.5中为我返回jue
。在2.0、3.0、3.5和4中也为我返回jue
。我认为它使用本机API来获取名称(可能是EnumCalendarInfoEx)。在这种情况下,差异可能取决于操作系统版本,而不是框架版本。我的Windows 7 64位+.NET 4.0返回“jue”。我的计算机是用西班牙语(阿根廷)配置的,我通过您的代码得到:缩写dDaynames:dom lun mar miéjue vie sáb ShortestDayNames:lu ma mi ju vi sá听起来可能吗。你知道操作系统的区别是什么吗顺便说一句,我正在运行最新的Windows 8.1…看来compileonline.com正在使用Mono运行linux版本;dotnetfiddle.net似乎是一个Azure实例。使用一些不同的虚拟机进行快速实验可以提供信息。