You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# .NET Framework 4.5如何仅通过.NET API获取指定日期日本年号信息

.NET Framework 4.5 原生获取日本年号信息方案

无需读取Windows注册表,直接依托System.Globalization命名空间下的原生API即可实现需求,核心是通过绑定了JapaneseCalendar的区域文化DateTimeFormatInfo对象,提取对应日期的纪元名称、缩写信息。

实现要点

  • 不要直接硬编码纪元索引或遍历JapaneseCalendar.Eras数组做日期匹配,直接调用JapaneseCalendar.GetEra(DateTime)方法获取指定日期对应的纪元序号,该返回值可直接传入DateTimeFormatInfo的纪元相关方法,完全避免纪元排序、边界判断的错误。
  • 必须为目标文化的DateTimeFormat.Calendar属性赋值JapaneseCalendar实例,否则会默认返回公历的纪元标识。
  • 初始化文化对象时设置useUserOverride: false,屏蔽终端用户自定义系统区域格式对返回结果的干扰。
  • 日文名称/单字缩写、罗马音名称/拉丁缩写分别通过绑定了JapaneseCalendar的ja-JP、en-US文化实例获取,不需要自己做翻译映射。

可直接运行的代码示例

using System;
using System.Globalization;

public class JapaneseEraUtility
{
    public static string GetJapaneseEraInfo(DateTime targetDate)
    {
        JapaneseCalendar jpCal = new JapaneseCalendar();
        
        // 取日文元号全称、单字缩写
        CultureInfo jpCulture = new CultureInfo("ja-JP", useUserOverride: false);
        jpCulture.DateTimeFormat.Calendar = jpCal;
        int eraIndex = jpCal.GetEra(targetDate);
        string jpEraFull = jpCulture.DateTimeFormat.GetEraName(eraIndex);
        string jpEraAbbr = jpCulture.DateTimeFormat.GetAbbreviatedEraName(eraIndex);

        // 取罗马音全称、拉丁字母缩写
        CultureInfo enCulture = new CultureInfo("en-US", useUserOverride: false);
        enCulture.DateTimeFormat.Calendar = jpCal;
        string enEraFull = enCulture.DateTimeFormat.GetEraName(eraIndex);
        string enEraAbbr = enCulture.DateTimeFormat.GetAbbreviatedEraName(eraIndex);

        return $"名称:{jpEraFull} ({enEraFull}) - 缩写:{jpEraAbbr} ({enEraAbbr}, {enEraAbbr.ToLower()})";
    }

    // 测试调用
    public static void Main()
    {
        DateTime testDate = new DateTime(2010, 1, 30);
        Console.WriteLine(GetJapaneseEraInfo(testDate));
        // 输出:名称:平成 (Heisei) - 缩写:平 (H, h)
    }
}

补充说明

.NET Framework 4.5 原生已内置平成及之前所有日本纪元的官方数据,调用上述代码获取2010年对应的平成相关信息不需要额外安装系统补丁或更新框架版本。如果后续需要获取令和时期的年号信息,仅需要安装对应版本的.NET Framework 区域更新包即可,代码逻辑不需要修改。

内容的提问来源于stack exchange,提问作者frankborty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 03:36:08