I can replicate the problem on Windows Server 2012. If you added ...
System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern.Dump();
you will see that he is returning ...
d / MM / YYYY
This is just a MonthDayPattern that seems to be wrong. It could be a mistake. I would register the problem at https://connect.microsoft.com/ .
In the meantime, you can just set MonthDayPattern ....
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-au", false); System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern.Dump(); System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthDayPattern.Dump(); DateTime.Parse("1/5").Dump(); System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthDayPattern = "d MMMM"; DateTime.Parse("1/5").Dump();
In Windows Server 2012 R2:
d / MM / YYYY
MMMM d
01/05/2016 12:00:00 AM
05/01/2016 12:00:00 AM
source share