Applies ToSilverlight

За тази актуализация

На 1 май 2019, новата ера в японския календар започва. Това е първият преход от една ера към друга след 1989 януари. Тази актуализация за Microsoft Silverlight поправя изчисленията от дата и час, за да обработи и форматира нови епохи в японския календар.

Поддържани функции за японски ERA

Диапазон – релаксация

Когато ерата на Heisei (平成) приключи на 30 април 2019 (Heisei (平成) 31), и новата ера започва на 1 май 2019, "平成 31 年 5 月 1 日" става невалидно. Ние сме спокойни нашите анализатори, за да разрешим бъдещите и минали дати (дати на григориански и японски), за да бъдат конвертирани в съответната дата за японските епохи, без да се хвърля изключение.

Например, за предишната японски Showa ера максималната ера е 64. Текущият Silverlight Code не може да анализира датата, ако годината на датата е по-голяма от 64 за текущата ера. Ако се опитва, той ще хвърли изключение.  Тази актуализация поправя този проблем и анализира датата, дори ако годината е по-голяма от максималната ера за годината.

Следващият пример илюстрира промяната: DateTime.Parse("昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Този пример няма да хвърли изключение. Вместо това той ще анализира успешно датата и връща 1/1/1995 12:00:00 AM (70 – 64 = 6. (Heisei ера започва в 1989; 1989 + 6 = 1995.)

Ще можете също да преобразувате бъдещите дати в Heisei в новото японско време след обявяването на новото японско име на ера.  

Gannen (元年) за първата година на японската ера

В историческата практика първата година от ерата е означена със специален знак "Ган (元)" (чийто йероглиф на канджи означава "произход" или "Начало") вместо числото "Ичи (1)". Първата година "Gannen (元年)" продължава до крайната дата на годината на Григорианския календар, 31 декември.

Тази актуализация ще позволява успешното анализиране на Gannen (元年) на Silverlight. 

Забележка Silverlight ще продължи да връща 01 , а не, ако Silverlight бъде помолен да форматира първата дата от ерата. Това може да бъде коригирано, като разработчиците заместят "01" година с годината "元".  Една проста подмяна на низ ще изпълни това.

Следващите примери описват как Silverlight обработва форматирането и анализирането на Gannen (元年).

Форматиране

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);

Поведение преди актуализация: formattedDate е "平成 01 年 01 月 08 日" Behavior After Update: formattedDate е "平成 01 年 01 月 08 日"

Няма промяна в поведението от това, което е съществувало преди актуализацията.

Анализиране

Ichinen (1 年)

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

Поведение преди актуализация: връща TRUE и има parsedDate на {1/8/1989 12:00:00 am} Behavior After Update: връща TRUE и има parsedDate на {1/8/1989 12:00:00 am}

Няма промяна в поведението от това, което е съществувало преди актуализацията.

Gannen (元年)

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

Поведение преди актуализация: връща FALSE и има parsedDate на {1/1/0001 12:00:00 am} Behavior After Update: връща TRUE и има parsedDate на {1/8/1989 12:00:00 am}

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.