Applies ToSilverlight

Acerca desta atualização

Em 1 de maio de 2019, começa a nova era no calendário japonês. Esta é a primeira transição de uma era para outra desde janeiro de 1989. Esta atualização para o Microsoft Silverlight corrige cálculos de DateTime para processar e formatar novas eras no calendário japonês.

Funcionalidades da era japonesa suportadas

Alcance-Relaxamento

Quando a era Heisei (平成) terminar, em 30 de abril de 2019 (Heisei (平成) 31) e a nova era começar em 1 de maio de 2019, “平成 31 年 5 月 1 日” deixa de ser válido. Temos interpretadores descontraídos para permitir que as datas futuras e passadas (datas gregoriana e japonesa) sejam convertidas numa data da era japonesa relevante sem forçar uma exceção.

Por exemplo, para a Era japonesa anterior, Showa, o ano máximo da era é 64. O código Silverlight atual não consegue calcular a data se o ano da data for superior a 64 para a era atual. Se tentar, irá forçar uma exceção.  Esta atualização corrige este problema e interpreta a data, mesmo que o ano seja maior do que o ano máximo da era.

O exemplo seguinte ilustra a alteração:DateTime.Parse(“昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Este exemplo não irá forçar uma exceção. Em vez disso, irá analisar a data com sucesso e devolver 1/1/1995 12:00:00 AM (70 – 64 = 6). (A era Hensei iniciada em 1989; 1989+6 = 1995.)

Também poderá converter datas futuras em Heisei para a nova era japonesa após o novo nome da era japonesa ser anunciado.  

Gannen (元年) para o primeiro ano da era japonesa

É prática histórica que o primeiro ano da era seja indicado por um carácter especial “Gan (元)” (cujo carácter Kanji significa "origem" ou "início") em vez do número “Ichi (1)”. O primeiro ano “Gannen (元年)” continua até a data de fim do ano do calendário Gregoriano, 31 de dezembro.

Esta atualização permitirá que o Silverlight analise caracteres Gannen (元年) com sucesso. 

Nota O Silverlight continuará a devolver 01 e não se ao Silverlight for solicitado para formatar a primeira data da era. Isto pode ser corrigido por programadores substituindo o ano “01” pelo ano “元”.  Um substituto de cadeia simples consegue isto.

Os exemplos seguintes descrevem o modo como o Silverlight processa a formatação e análise do Gannen (元年).

Formatação

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

Comportamento antes da atualização: formattedDate é "平成 01年 01月 08日" Comportamento após atualização: formattedDate é "平成 01年 01月 08日"

Não existe nenhuma alteração no comportamento em relação ao existente antes da atualização.

A Analisar

Ichinen (1 年)

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

Comportamento antes da atualização: Devolve verdadeiro e tem uma parsedDate de {1/8/1989 12:00:00 AM} Comportamento após atualização: Devolve verdadeiro e tem uma parsedDate de {1/8/1989 12:00:00 AM}

Não existe nenhuma alteração no comportamento em relação ao existente antes da atualização.

Gannen (元年)

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

Comportamento antes da atualização: Devolve false e tem um parsedDate de {1/1/0001 12:00:00 AM} Comportamento após atualização: Devolve verdadeiro e tem uma parsedDate de {1/8/1989 12:00:00 AM}

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.