Applies ToSilverlight

À propos de cette mise à jour

Le 1er mai 2019, la nouvelle ère du calendrier japonais commence. C’est la première transition d’une ère à une autre depuis janvier 1989. Cette mise à jour pour Microsoft Silverlight résout les calculs DateTime pour gérer et mettre en forme les nouvelles ères dans le calendrier japonais.

Fonctionnalités prises en charge par l’ère japonaise

Détente de portée

Lorsque l’ère Heisei (平成) se termine le 30 avril 2019 (Heisei (平成) 31) et que la nouvelle ère commence le 1er mai 2019, « 平成 31 年 5 月 1 日 » devient non valide. Nous avons assoupli nos analyseurs pour permettre la conversion des dates futures et passées (à la fois grégoriennes et japonaises) en une date pertinente de l’ère japonaise sans exception.

Par exemple, pour l’ère japonaise Showa précédente, l’ère maximale est de 64 ans. Le code Silverlight actuel ne peut pas analyser la date si l’année de la date est supérieure à 64 pour l’ère actuelle. S’il essaie, il lève une exception.  Cette mise à jour résout ce problème et analyse la date même si l’année est supérieure à l’année maximale.

L’exemple suivant illustre ce problème :DateTime.Parse(“昭和 70/1/1 0:00:00", new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } })

Cet exemple ne lève pas d’exception. Au lieu de cela, il analyse la date avec succès et renvoie 1/1/1995 12:00:00 AM (70 – 64 = 6). (L’ère Heisei a commencé en 1989 ; 1989+6 = 1995.)

Vous pourrez également convertir les dates futures en Heisei dans une nouvelle ère japonaise après l'annonce du nouveau nom de l'ère japonaise.  

Gannen (元年) pour la première année de l'ère japonaise

Dans une pratique historique, la première année de l'ère est indiquée par un caractère spécial « Gan (元) » (dont le caractère Kanji signifie « origine » ou « début ») au lieu du nombre « Ichi (1) ». La première année « Gannen (元年) » continue jusqu’à la date de fin de l’année calendaire grégorien, le 31 décembre.

Cette mise à jour permettra à Silverlight d’analyser correctement les caractères Gannen (元年). 

Remarque Silverlight continuera de retourner 01 et pas si Silverlight doit mettre en forme la première date de l'ère. Cela peut être résolu en demandant aux développeurs de remplacer l’année « 01 » par l’année « 元 ».  Un simple remplacement de chaîne réalise cela.

Les exemples suivants détaillent la manière dont Silverlight gère la mise en forme et l'analyse de Gannen (元年).

Mise en forme

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

Comportement avant mise à jour : formattedDate est « 平成 01年 01月 08日 » Comportement après mise à jour : formattedDate est « 平成 01年 01月 08日 »

Il n’y a aucune modification du comportement de ce qui existait avant la mise à jour.

Analyseur

Ichinen (1 年)

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

Comportement avant mise à jour : Renvoie true et a une parsedDate de {1/8/1989 12:00:00 AM} Comportement après mise à jour : Renvoie true et a une parsedDate de {1/8/1989 12:00:00 AM}

Il n’y a aucune modification du comportement de ce qui existait avant la mise à jour.

Gannen (元年)

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

Comportement avant mise à jour : Renvoie la valeur false et a une parsedDate de {1/1/0001 12:00:00 AM} Comportement après mise à jour : Renvoie true et a une parsedDate de {1/8/1989 12:00:00 AM}

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.