关于此更新程序

2019 年 5 月 1 日,新日本年代日历开始使用了。 这是自 1989 年 1 月以来首次从一个年代过渡到另一个年代。 此 Microsoft Silverlight 更新修复了 DateTime 计算,以处理新的日本年代日历以及对其设置格式。

支持日本年代的功能

Range-Relaxation

当 Heisei(平成)年代于 2019 年 4 月 30 日(Heisei(平成)31)结束而新的年代从 2019 年 5 月 1 日开始时, “平成 31 年 5 月 1 日” 就变为无效。 我们已经放松了分析程序,允许将来和过去的日期(公历和日本日期)转换为相关的日本年代日期,而不引发异常。

例如,对于之前的日本昭和时代,最大纪年是 64。 如果当前年代的日期年份大于 64,目前的 Silverlight 代码就无法分析日期。 如果它尝试,将会引发异常。  此更新修复了此问题,即使在年份大于最大纪年时也能分析日期。

以下示例说明了此更改:

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)”。 第一年“Gannen (元年)”将继续,直到公历年的结束日期 12 月 31 日。

此更新将允许 Silverlight 成功分析 Gannen (元年) 字符。 

注意如果请求 Silverlight 格式化年代的第一个日期, Silverlight 将继续返回 01,而不会返回 。 这可以通过让开发人员把“元”替换成“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 是“平成 01 年 01 月 08 日”
更新后的行为: formattedDate 是“平成 01 年 01 月 08 日”

与更新之前的情况相比,行为没有任何变化。

分析

Ichinen (1 年)

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

更新前的行为: 返回 trueparsedDate 为 {1/8/1989 12:00:00 AM}
更新后的行为: 返回 trueparsedDate 为 {1/8/1989 12:00:00 AM}

与更新之前的情况相比,行为没有任何变化。

Gannen (元年)

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

更新前的行为: 返回 false parsedDate 为 {1/1/0001 12:00:00 AM}
更新后的行为: 返回 trueparsedDate 为 {1/8/1989 12:00:00 AM}

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×