【发布时间】:2013-04-26 15:53:42
【问题描述】:
我有一个这样写日期的网站:
CultureInfo cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(c => string.Equals(c.TwoLetterISOLanguageName, MvcApplication.Language));
return string.Concat(date.Day, ".", cultureInfo.DateTimeFormat.GetAbbreviatedMonthName(date.Month));
在我的 PC(Windows 7,Service Pack 1,西班牙文化)和服务器(Windows Server 2012,英语文化)中,MvcApplication.Language 是 es,所以我从列表中得到的文化是:es-ES .
我希望他们都写相同的字符串(他们有不同的文化,但我没有使用CurrentCulture)。但是结果是我的 PC 中的 abr 和服务器中的 Abr.。
我已经尝试使用LinqPAD 将其与MvcApplication.Language 隔离,但它仍然不同。我已经打印了AbbreviatedDayNames 和AbbreviatedMonthNames 的数组,它们在每台计算机上都不同。
我做错了什么还是这是预期的行为?如何使其完全独立于 Windows / 用户文化?
【问题讨论】:
标签: c# asp.net-mvc cultureinfo datetime-format culture