Applies ToSilverlight

Sobre esta atualização

Em 1 ° de maio de 2019, a nova era do calendário japonês começa. 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 manipular e formatar o novo apagamento no calendário japonês.

Recursos compatíveis com o era japonês

Intervalo-relaxamento

Quando a era Heisei (平成) termina em 30 de abril de 2019 (Heisei (平成) 31) e a nova era começa em 1 ° de maio de 2019, "平成 31 年 5 月 1 日" torna-se inválido. Liberamos nossos analisadores para permitir que as datas futuras e anteriores (datas gregoriano e japonesas) sejam convertidas em uma data de era do japonês relevante sem lançar uma exceção.

Por exemplo, para a era mostra do japonês anterior, o ano de era máximo é 64. O código atual do Silverlight não pode analisar a data se o ano da data for maior que 64 para a era atual. Se ele tentar, ele gerará uma exceção.  Esta atualização corrige esse problema e analisa a data mesmo que o ano seja maior do que o ano de era máximo.

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

Este exemplo não gera uma exceção. Em vez disso, ele analisará a data com êxito e retornará 1/1/1995 12:00:00 AM (70-64 = 6. (A era Heiseida em 1989; 1989 + 6 = 1995.)

Você também poderá converter datas futuras no Heisei para a nova era japonesa após o anúncio do novo nome da era japonês.  

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

Na prática histórica, o primeiro ano da era é indicado por um caractere especial "Gan (元)" (cujo caractere kanji significa "origem" ou "início") em vez do número "Ichi (1)". O primeiro ano "Gannen (元年)" continua até a data de término do ano civil gregoriano, 31 de dezembro.

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

Observação O Silverlight continuará a retornar 01 e nãose o Silverlight for solicitado a formatar a primeira data da era. Isso pode ser corrigido fazendo com que os desenvolvedores substituam o ano "01" pelo ano "元".  Uma simples substituição de cadeia de caracteres pode fazer isso.

Os exemplos a seguir detalham como o Silverlight manipula a formatação e a análise de 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 a atualização: formattedDate é "平成 01 年 01 月 08 日"

Não há nenhuma alteração no comportamento do que existia antes da atualização.

Análise

Ichinen (1 年)

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

Comportamento antes da atualização: retorna true e tem um parsedDate de {1/8/1989 12:00:00 am} Comportamento após a atualização: retorna true e tem um parsedDate de {1/8/1989 12:00:00 am}

Não há nenhuma alteração no comportamento do que existia antes da atualização.

Gannen (元年)

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

Comportamento antes da atualização: retorna false e tem um parsedDate de {1/1/0001 12:00:00 am} Comportamento após a atualização: retorna true e tem um parsedDate de {1/8/1989 12:00:00 am}

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.