Applies ToSilverlight

Acerca de esta actualización

El 1 de mayo de 2019, comenzó la nueva era del calendario japonés. Esta es la primera transición de una era a otra desde enero de 1989. Esta actualización para Microsoft Silverlight corrige los cálculos de fecha y hora para controlar y dar formato a las nuevas eras del calendario japonés.

Características compatibles con la era japonesa

Ampliación del rango

Al finalizar la era Heisei (平成) el 30 de abril de 2019 (Heisei (平成) 31), y al comenzar la nueva era el 1 de mayo de 2019, “平成 31 年 5 月 1 日” se volvió inválido. Hemos ampliado nuestros analizadores para permitir la conversión de fechas pasadas y futuras (tanto fechas gregorianas como japonesas) a una fecha japonesa relevante sin generar una excepción.

Por ejemplo, para la era japonesa anterior Showa, el año de era máximo es 64. El código Silverlight actual no puede analizar la fecha si el año de la fecha es superior a 64 para la era actual. Si lo intenta, se iniciará una excepción.  Esta actualización soluciona este problema y analiza la fecha aunque el año sea mayor que el año de era máximo.

El siguiente ejemplo ilustra el cambio:DateTime.Parse(“昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Este ejemplo no generará una excepción. En su lugar, analizará la fecha correctamente y devolverá 1/1/1995 12:00:00 AM (70 – 64 = 6). (La era Heisei empezó en 1989; 1989+6 = 1995.)

También podrá convertir fechas futuras en Heisei a la nueva era japonesa tras el anuncio del nuevo nombre de la era japonesa.  

Gannen (元年) del primer año de la era japonesa

En la práctica histórica, el primer año de la era se indica mediante un carácter especial “Gan (元)” (cuyo carácter Kanji significa “origen” o “inicio”) en lugar del número “Ichi (1)”. El primer año “Gannen (元年)” continúa hasta la fecha de finalización del año gregoriano, el 31 de diciembre.

Esta actualización permitirá que Silverlight analice los caracteres Gannen (元年) correctamente. 

Nota Silverlight seguirá devolviendo 01 y no si se solicita a Silverlight que dé formato a la primera fecha de la era. Esto puede corregirse haciendo que los desarrolladores reemplacen el año “01” con el año “元”.  Una simple sustitución de cadenas lograría esto.

En los siguientes ejemplos se detalla cómo Silverlight controla el formato y el análisis de Gannen (元年).

Formato

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

Comportamiento antes de la actualización: formattedDate es "平成 01年 01月 08日" Comportamiento después de la actualización: formattedDate es "平成 01年 01月 08日"

No hay ningún cambio en el comportamiento antes de la actualización.

Análisis

Ichinen (1 年)

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

Comportamiento antes de la actualización: Devuelve verdadero y tiene un parsedDate de {1/8/1989 12:00:00 AM} Comportamiento después de la actualización: Devuelve verdadero y tiene un parsedDate de {1/8/1989 12:00:00 AM}

No hay ningún cambio en el comportamiento antes de la actualización.

Gannen (元年)

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

Comportamiento antes de la actualización: Devuelve falso y tiene un parsedDate de {1/1/0001 12:00:00 AM} Comportamiento después de la actualización: Devuelve verdadero y tiene un parsedDate de {1/8/1989 12:00:00 AM}

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.