Applies ToSilverlight

Giới thiệu về bản cập nhật này

Vào ngày 1 tháng 5, 2019, một kỉ nguyên mới trong lịch Nhật Bản bắt đầu. Đây là lần chuyển đổi đầu tiên sang một thời đại khác kể từ tháng 01 năm 1989. Bản cập nhật Microsoft Silverlight này khắc phục các phép tính DateTime giúp quản lý và định dạng lịch cho các thời đại mới của Nhật Bản.

Các tính năng hỗ trợ thời đại mới của Nhật Bản

Giãn - Khoảng

Khi thời kỳ Bình Thành (平成) kết thúc vào ngày 30 tháng 4 năm 2019 (Heisei (平成) 31) và thời kỳ mới bắt đầu vào ngày 01 tháng 5 năm 2019 thì "平成 31 年 5 月 1 日" trở nên không hợp lệ. Chúng tôi đã giãn trình phân tích cú pháp cho phép ngày tháng trong quá khứ và tương lai (cả âm lịch và dương lịch) được chuyển đổi thành một ngày tương ứng thuộc thời kỳ của Nhật Bản mà không xảy ra ngoại lệ.

Ví dụ, đối với thời kỳ Chiêu Hoà trước đó, năm kỷ nguyên tối đa là 64. Mã Silverlight hiện tại không thể phân tích số ngày nếu số năm lớn hơn 64 với thời kỳ hiện tại. Nếu cố thực hiện phân tích đó thì sẽ xảy ra một ngoại lệ.  Bản cập nhật này khắc phục sự cố trên và phân tích cú pháp ngày ngay cả khi số năm lớn hơn số tối đa của thời đại.

Ví dụ sau minh hoạ sự thay đổi:DateTime.Parse(“昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Ví dụ này sẽ không có ngoại lệ. Thay vào đó, nó sẽ phân tích cú pháp ngày thành công và trả lại 1/1/1995 12:00:00 AM (70 – 64 = 6). (Thời kì Bình Thành bắt đầu vào năm 1989; 1989 + 6 = 1995.)

Bạn cũng sẽ có thể chuyển đổi các ngày trong tương lai trong thời kỳ Bình Thành sang thời kỳ mới của Nhật bản sau khi tên thời kỳ mới của Nhật bản được công bố.  

Gannen (元年) cho năm đầu tiên của thời kỳ Nhật bản

Theo thực tế trong lịch sử, năm đầu tiên của thời kỳ được kí hiệu bằng một ký tự đặc biệt "Gan (元)" (có ký tự kanji có nghĩa là "bắt nguồn" hoặc "bắt đầu") thay vì số "ichi (1)". Năm đầu tiên "Gannen (元年)" tiếp tục cho đến ngày kết thúc năm dương lịch, ngày 31 tháng 12.

Bản cập nhật này sẽ cho phép Silverlight phân tích cú pháp các ký tự Gannen (元年) thành công. 

Lưu ý Silverlight sẽ tiếp tục trả lại 01, không phải nếu Silverlight được yêu cầu định dạng ngày đầu tiên của thời đại. Các nhà phát triển có thể khắc phục điều này bằng cách thay thế năm "01" với năm "元".  Một chuỗi thay thế đơn giản là có thể đạt được kết quả này.

Ví dụ sau nêu chi tiết cách Silverlight xử lý định dạng và phân tích cú pháp Gannen (元年).

Định dạng

string pattern = "gg yyyy'\u5E74' MM'\u6708' dd'\u65E5'"; //"gg yyyy'年' MM'月' dd'日'"

DateTime dt = new DateTime(1989, 01, 08); // Start of Heisei Era

string formattedDate = dt.ToString(pattern, jpnFormat);

Tính chất trước khi cập nhật: formattedDate là "平成 01年 01月 08日" Tính chất sau khi cập nhật: formattedDate là "平成 01年 01月 08日"

Không có sự thay đổi những gì đã có trước khi cập nhật.

Phân tích cú pháp

Ichinen (1 年)

DateTime.TryParseExact("平成 01年 01月 08日", pattern, jpnFormat, DateTimeStyles.None, out parsedDate)

Tính chất trước khi cập nhật: Trả về true và có một parsedDate của {1/8/1989 12:00:00 AM} Tính chất sau khi cập nhật: Trả về true và có một parsedDate của {1/8/1989 12:00:00 AM}

Không có sự thay đổi những gì đã có trước khi cập nhật.

Gannen (元年)

DateTime.TryParseExact("平成元年 01月 08日", pattern, jpnFormat, DateTimeStyles.None, out parsedDate)

Tính chất trước khi cập nhật: Trả về false và có một parsedDate của {1/1/0001 12:00:00 AM} Tính chất sau khi cập nhật: Trả về true và có một parsedDate của {1/8/1989 12:00:00 AM}

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.