日本日曆的紀元處理
許多日曆都有紀元,例如 AD/BC 或 CE/BCE。 在日本的曆法中,年份是由年號表示,這是一種結合年份數字和紀元名稱的方式。 例如,2009 是 Heisei 21。 過去,日本的年號經常變化,但現在只在天皇繼位時更改。 Windows 和 Microsoft .NET 在此政策下歷來支援這四個現代時代:明治、大正、昭和和平成。
使用 Windows 7、Windows Server 2008 R2 和 .NET Framework 4,Microsoft會辨識未來可能會新增其他紀元。 在這些版本的 Windows 中,紀元數據會儲存在註冊表的鍵值下:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras
如有必要,可以透過一般的 Windows Update 程式,將其他紀元新增至該密鑰。 您可以使用登錄編輯器來檢視此機碼(Regedit.exe)。 以下是 Windows 7 中所提供的鍵和值的範例:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"1868 01 01"="明治_明_Meiji_M"
"1912 07 30"="大正_大_Taisho_T"
"1926 12 25"="昭和_昭_Showa_S"
"1989 01 08"="平成_平_Heisei_H"
每個紀元值的名稱是紀元開始於公曆中的日期。 值包含日文中的紀元名稱、日文中的縮寫名稱、英文的名稱,以及英文的縮寫名稱:
- “YYYY MM DD”=“JE_AJE_EE_AEE”
- “YYYY MM DD” 是紀元開始的公曆日期,格式為年、月、日,其中年份為4位數,月份為2位數,日期也是2位數。 空格會分隔日期的每個部分。
- 「JE」是日文中表示年代的名稱,後面有一個底線。
- “AJE” 是時代名稱的縮寫,使用日文表示,後面接著一個底線。
- “EE” 是日本年號的英文名稱,後面接有底線。
- “AEE” 是日本時代的縮寫英文名稱。
應用程式開發人員的一個考慮是 Windows Update 或其他方式可能會新增其他紀元。 在這種情況下,應用程式可能會遇到超過預期的四個日本日曆紀元。 為了進行測試,測試人員可能會將額外的紀元新增至登錄;不過,這應該僅限於測試機器,因為它會影響整個機器的行為。
可用於測試的這類金鑰範例如下。 您可以使用註冊表編輯器進行這項變更。 (這是僅供測試使用的範例,並不適合預測任何未來的新增專案。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2020 09 01"="仮名_仮_Test Era_X"
請注意,這隻會影響執行 Windows 7 和更新版本或 .NET Framework 4 和更新版本的機器。 鼓勵應用程式開發人員使用這類額外的測試紀元來測試其應用程式,以確保如果未來日期新增其他紀元,應用程式將會繼續運作。
相關主題