In Australia, un cliente ha inserito "1/5"
come scorciatoia per il primo giorno di maggio. Abbiamo appena spostato da Windows Server 2008 a Windows Server 2012.DateTimeFormatInfo.MonthDayPattern è cambiato in Windows Server 2012 - Come posso ripristinarlo?
utilizzando il seguente codice in LINQPad:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-au", false);
System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthDayPattern.Dump();
DateTime.Parse("1/5").Dump();
Su Windows Server 2008:
dd MMMM
1/05/2016 12:00 AM
Su Windows Server 201 2 R2:
MMMM d
5/01/2016 12:00:00 AM
Domande:
- Perché ha cambiato il MonthDayPattern? Gli australiani hanno sempre il giorno prima, poi il mese
- Dove può essere impostato nell'interfaccia utente di Windows Server? L'interfaccia utente espone solo i formati lungo e corto, non il formato giorno e mese
- Come posso risolvere il problema nella mia applicazione con il minor numero di modifiche, dato che potrebbe verificarsi
DateTime.Parse
attraverso il sistema (ad esempio Modello binding, convalida ecc)
Quale versione di Linqpad stai utilizzando? – Mick
4, non abbiamo .Net 4.6 sul server in modo non è possibile utilizzare 5 – user917170