我有一个网站,它这样写日期:实例改变基于OS
CultureInfo cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(c => string.Equals(c.TwoLetterISOLanguageName, MvcApplication.Language));
return string.Concat(date.Day, ".", cultureInfo.DateTimeFormat.GetAbbreviatedMonthName(date.Month));
在这两个我的电脑(Windows 7的Service Pack 1起,西班牙文化)和服务器(Windows Server 2012,英文版)MvcApplication.Language
是es
,所以我从列表中得到的文化是:es-ES
。
我希望他们都写相同的字符串(他们有不同的文化,但我没有使用CurrentCulture
)。但是,结果是我的PC中的abr
和服务器中的Abr.
。
我试过这个从MvcApplication.Language
分离使用LinqPAD但它仍然不同。我已经打印了AbbreviatedDayNames
和AbbreviatedMonthNames
的阵列,并且它们在每台计算机中都不相同。
我做错了什么或这是预期的行为?我该如何做才能完全独立于Windows /用户文化?