Ho un sito web che scrive una data così:istanze di CultureInfo (da stessa cultura) cambia basate su 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));
In entrambi mio PC (Windows 7, il Service Pack 1, la cultura spagnola) e il server (Windows Server 2012, Cultura inglese) il MvcApplication.Language
è es
quindi la cultura che ottengo dall'elenco è: es-ES
.
Mi aspetterei che entrambi scrivano la stessa stringa (hanno culture diverse, ma non sto usando CurrentCulture
). Tuttavia, i risultati sono abr
nel mio PC e Abr.
nel server.
Ho provato questo isolato da MvcApplication.Language
utilizzando il LinqPAD ma è ancora diverso. Ho stampato gli array di AbbreviatedDayNames
e AbbreviatedMonthNames
e sono diversi in ogni computer.
Sto facendo qualcosa di sbagliato o questo è il comportamento previsto? Come posso fare per renderlo completamente indipendente da Windows/User Culture?