Ở Úc, một khách hàng đã nhập "1/5"
làm lối tắt cho ngày đầu tiên của tháng 5. Chúng tôi vừa chuyển từ Windows Server 2008 lên Windows Server 2012.DateTimeFormatInfo.MonthDayPattern Đã thay đổi trong Windows Server 2012 - Làm thế nào tôi có thể thiết lập lại?
Sử dụng đoạn mã sau vào LinqPad:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-au", false);
System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthDayPattern.Dump();
DateTime.Parse("1/5").Dump();
Trên Windows Server 2008:
dd MMMM
1/05/2016 12:00:00 AM
Trên Windows Server 201 2 R2:
MMMM d
5/01/2016 12:00:00 AM
Câu hỏi:
- Tại sao các MonthDayPattern thay đổi? Người Úc luôn có ngày đầu tiên, sau đó tháng
- Điều này có thể được đặt trong giao diện người dùng Windows Server ở đâu? Giao diện người dùng chỉ hiển thị định dạng dài và ngắn, không phải định dạng tháng và ngắn
- Làm cách nào để khắc phục sự cố trong ứng dụng của tôi với số lượng thay đổi ít nhất, có thể là
DateTime.Parse
xảy ra trên toàn hệ thống. Ràng buộc, Validation vv)
Bạn đang sử dụng phiên bản Linqpad nào? – Mick
4, chúng tôi không có .Net 4.6 trên máy chủ vì vậy không thể sử dụng 5 – user917170