W Australii klient wprowadził "1/5"
jako skrót pierwszego dnia maja. Mamy po prostu przeniósł się z systemu Windows Server 2008 do systemu Windows Server 2012.DateTimeFormatInfo.MonthDayPattern został zmieniony w systemie Windows Server 2012 - jak mogę go przywrócić?
Korzystanie następujący kod w LINQPad:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-au", false);
System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthDayPattern.Dump();
DateTime.Parse("1/5").Dump();
W systemie Windows Server 2008:
DD MMMM
1/05/2016 12:00:00 AM
Na Windows Server 201 2 R2:
MMMM d
5/01/2016 12:00:00 AM
Pytania:
- Dlaczego ma MonthDayPattern zmieniło? Australijczycy zawsze mają dzień pierwszy, a następnie miesiąc
- Gdzie można to ustawić w interfejsie użytkownika Windows Server? Interfejs użytkownika ujawnia tylko długie i krótkie formaty, a nie format miesiąca i dnia.
- Jak mogę rozwiązać problem w mojej aplikacji z najmniejszą ilością zmian, biorąc pod uwagę, że może zdarzyć się, że w całym systemie może wystąpić
DateTime.Parse
(np. wiążące, Validation etc)
Z której wersji Linqpad korzystasz? – Mick
4, nie mamy .Net 4.6 na serwerze, więc nie można użyć 5 – user917170