Applies ToSilverlight

Відомості про це оновлення

1 травня 2019 р. розпочнеться нова ера в японському календарі. Це перший перехід від однієї ери до іншої з січня 1989. Це оновлення для Microsoft Silverlight усуває обчислення дати й часу для обробки та форматування нових епох в японському календарі.

Підтримувані функції в японській ері

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

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

Наприклад, для попередньої японської епохи Сева, максимальна епоха – 64. Поточний код Silverlight не може аналізувати дату, яка перевищує 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. (Епоха Гейсей розпочато в 1989; 1989 + 6 = 1995.)

Ви також зможете перетворити майбутні дати в Хейсей на нову японську епоху після оголошення нового імені японської епохи.  

Gannen (元年) за перший рік японської епохи

В історичній практиці перший рік доби позначається спеціальним символом "Gan (元)" (символ кандзі означає "походження" або "Початок") замість номера "Ichi (1)". Перший рік "Wannen (元年)" продовжується до дати завершення григоріанського календарного року, 31 грудня.

Це оновлення дасть змогу Silverlight успішно аналізувати символи Gannen (元年). 

Примітка. 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 is "平成 01 年01 月 08 日" Поведінка після оновлення: formattedDate is "平成 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} Поведінка після оновлення: повертає значення TRUE і має parsedDate від {1/8/1989 12:00:00 AM}

Не вдається змінити поведінку від того, що існувало перед оновленням.

Ганнен (元年)

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

Поведінка перед оновленням: повертає значення FALSE і має parsedDate від {1/1/0001 12:00:00 AM} Поведінка після оновлення: повертає значення TRUE і має parsedDate від {1/8/1989 12:00:00 AM}

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.