Tôi hiện đang trải qua quá trình toàn cầu hóa cho một dự án (một ứng dụng .net mvc2) và toàn cầu hóa là một chút mới đối với tôi. Tôi đã nhận thấy rằng DateTime.ToString(), khi được định dạng cho một số nền văn hóa, có thể gây ra một ArgumentOutOfRangeException cho các giá trị quá xa trong quá khứ hoặc tương lai. Đặc biệt, các lịch được sử dụng cho "ar" và "ar-SA" (UmAlQuraCalendar) có các ngày được hỗ trợ tối thiểu và tối đa rất hạn chế. Khi sử dụng UmAlQuraCalendar, bất kỳ ngày nào trước tháng 4 năm 1930 hoặc sau tháng 5 năm 2029 sẽ gây ra điều này. Điều này có thể dễ dàng quan sát được:Thực tiễn nào tốt nhất khi xử lý phạm vi giới hạn các giá trị DateTime được hỗ trợ của văn hóa?
DateTime.ParseExact("1900", "yyyy", CultureInfo.InvariantCulture).ToString("G", new CultureInfo("ar"));
Tha thứ sự thiếu hiểu biết của tôi về chủ đề này, nhưng tôi tự hỏi thực tiễn tốt nhất ở đây là gì. Tôi muốn nó nếu tôi có thể đại diện cho các ngày sớm hơn năm 1930 mà không cần phải thêm xử lý ngoại lệ mỗi khi tôi in một ngày, nhưng tôi cũng muốn tôn trọng văn hóa của người dùng. Có phải lựa chọn tốt nhất ở đây để chuyển lịch cho các nền văn hóa này? Có vẻ như từ một số googling rằng các tùy chọn cung cấp HijriCalendar là rất tương tự như UmAlQuraCalendar, nhưng với nhiều ngày thoải mái tối thiểu và tối đa được hỗ trợ. Đây có phải là vấn đề mà rất nhiều người gặp phải không? Tôi đã không thể tìm thấy nhiều lời khuyên cho vấn đề cụ thể này. Tôi do dự chỉ đơn giản là thay đổi lịch mặc định được sử dụng trong các nền văn hóa trên một ý thích, mà không có một số lời khuyên.
Chúng là lịch tôn giáo, rất khó giải quyết vì chúng dựa trên quan sát mặt trăng. Một tháng có thể là 30 ngày thay vì 29 ngày nếu trời có mây. Các ngày trong tương lai sẽ thay đổi khi đang bay, lưu ý thuộc tính HijriAdjustment. Chỉ chuyển đổi ngày hiện tại. –
Sẽ là một ý tưởng tồi khi chỉ cần ép buộc một lịch gregorian, sau đó? Hay điều đó không thể sử dụng được. – Ross
Tôi nghĩ bạn cần nói chuyện với khách hàng của mình và tìm hiểu thêm về các hoạt động kinh doanh của họ. –