LoginSignup
6
3

More than 5 years have passed since last update.

マイクロソフトが改元に対応ができない理由と各自でファイル名を西暦にすべき理由

Last updated at Posted at 2019-04-25

現在のマイクロソフトがやっていること

新元号(平成の次の元号)対応におけるMicrosoftのセミナー「新元号とマイクロソフト製品における対応」を受けてきました
https://qiita.com/You_name_is_YU/items/3f6f9825c2d1c97c5ea6

新しいユニコード令和を設定する

U+32FFでほぼ決まり。

ここから先の対応がいかにもおかしい

レジストリをいじる必要がある。いじると挙動が変わる

マイクロソフトさん、お願いですから.NET Frameworkの動作を何の説明もなく変更するのはやめてください。- 改元対応で思うこと
https://qiita.com/gushwell/items/88411bb2c833e7d7ff6b

まずこの対応自体がおかしい。こんなことをやると一つのシステムで動いても別のシステムでは動かない。正気ではない。

やたらにXPは非対応、オフィス2003以前の形式は非対応を強調

マイクロソフトとしてはそうなんだろうけど後方互換を失ったマイクロソフトはGoogleやAppleに食われる。

オフィスもダメ、たぶんMSは対応を失敗してあきらめている

Wordの最新バージョンOffice365 1904
image.png
以前のように??よりはマシだが。対応をあきらめたとしか思えない。とうしょの予想では元号さえ決まればレジストリを書き換えてオフィスも対応する、そうなっていたはずだ。2019年3月までは対応できないやつはバカみたいなタイトルの記事がQitaにある。しかし4月にはない。MSは失敗したのだ。

もう間に合わない

とうぜんアップデートはまだらになるので、世界中のすべてのWindows10を更新する時間はない。
つまり無理だ。

原理的に対応ができない理由

西暦では不定である

平成と令和の違い

平成64年は7日しかないが、平成31年は4か月あること(4と7を打ち間違えました)
このため3分の1は平成で3分の2は令和となる。
つまり2019だけでは変換ができない。

いきなり1桁になる

元号の原理的な欠陥として100より少ない数字で不定期に変わってしまう。天皇が死ぬか退位するかではシステムから見て全く規則性がない。

その割に発表が遅い

安倍政権が天皇と仲が悪いためこんなことになる。そもそも安倍こそ天皇をバカにしているというのはよく知られている。戦前の軍部が天皇を利用して支配しながら自分たちは「天ちゃん」などとバカにしていたのはよく知られていることのようだ。

英訳がバカすぎる

そうした関係もあり、でたらめな出典、英語がわかっていない令和の翻訳、さらにヘボン式でLeiwaではなく無駄にReiwaにしたこと。
せめてLeiwaにすべきだった。
ただでさえ明治、大正、昭和はMTSと並びがめちゃくちゃなのにここにRをぶっこむとMTSRである。嫌がらせしか考えていないだろう安倍晋三は。

致命的なダブルコード

新元号 令和(れいわ)の文字コードについて
https://qiita.com/tfukumori/items/959ed9c751734b73675f
マイクロソフトの勢いが止まった理由は2つある。1つは令和の令が刀かマか。
これが合字のデザインを迷わせる。
次に令のコードが2つある。

「U+F9A8」は、韓国語の等音法則に起因する文字である(韓国の文字コード規格KS X 1001との往復変換を可能にするために追加された文字)。元号には、Unicodeへの収録意図からも使うべきではない。

不可能。ユーザーに強制できないし排除ができない。べき論とか精神論でシステムは組むことはできない。もしやろうとしたらだから太平洋戦争に日本は負けたんだよ。べき論が出てきた時点でシステムとして成立しない。終わりです。

この結果次のようになる

昭和、平成、令和をソートするとき、ひらがなかかたかなしか使えない。

Order(Beautifulなどという英訳はバカ)の令は漢字コードで平成より前に来てしまう。組み文字のユニコードにマイクロソフトはこだわっているが、機種依存文字は使わないので全く意味がない。
せめてLであればHとLで平成と令和くらいは並ぶが、昭和でアウトになる。もはやアルファベットは絶望的だ。さらに令自体が2つある。

ということはシステムが必ずガラパゴス化して国際的に通用しないシステムを高コストで運用することになる

タイムコード自体がこれでは日本だけ専用のソートのアルゴリズムが必要になるが、ほかでなんら使われない。技術的発展性も期待できない。この不合理な元号を使用しないと政府が脅してくる。バカすぎて話にならない。

元号のユニーク性の喪失

もとから元号は西暦と対応していなかったが、大正から昭和はシステム的には問題にならず、昭和から平成は昭和64年を実質的に無視できるため問題がなかった。
ところが、4か月も平成にしたため、平成と令和が同居する。つまり令和で元号と西暦は非対応になったとみなすべきである。反論は許さない。一度重複した以上、もはやタイムコードとしての元号はその正当性を喪失したのだ。
もしこうしないのであれば

  1. 天皇の意をくみ取って2019年1月1日に改元する
  2. 令和元年は使わず、令和2年から使う(これでも無理はあるが)

という少なくとも2つの方法がとれたのに、このどちらもやらなかった。

システムだけではなくファイル名も深刻

MS-DOSの時代からLotusを使うと

この場合01年家計.xlsというファイルが存在しうる
これは

  1. 平成元年の家計簿
  2. 令和元年の家計簿
  3. 資料番号01 年単位の家計簿、ファイルスタンプから平成元年ごろと推定
  4. 単にソートするために順番として01をくっつけた。

わかる人はわかると思うが、DOS時代のファイル名は全角4文字しかなかったので、このようなファイル名が存在しうる。するとこの01の解釈は難しい。いったい何だろうか。
これはわかるうちにできる限りファイル名やフォルダ名で元号で表記されているものは西暦に直しておいた方がよいということになる。

Wordは不要不急の場合、日付コンテンツコントロールで日付を記載する。

最悪MSが対応しなくても日付コンテンツコントロールで日付を入れているとすれば検索や修正が容易になる。日付コンテンツコントロールオブジェクトが独立していているためVBAが使えるからだ。文字だとRangeの位置決めがとても面倒だが、オブジェクト単位ならそこまではない。

Excelはgggeeで平成で我慢する

とりあえず表示形式が変わらないと言い訳をして平成31年5月1日以降はやりすごる。これがExcelではBestな対応。なんら工夫が要らない。

Access Publisher PowerPointは何もしない

MS-ACCESS の新元号「元年表記」対応
https://qiita.com/earthdiver1/items/4b3674ed496c500d6894
というのはあるが、以下のように野良マクロとバカにされる時代には必要がない。
まさか平成で入力させていないと思うが、平成で入力させていたらそのまま平成を使うべきである。令和は挙動がわからない。

なにかを作ると野良マクロといってバカにして危険視したマイクロソフトとアスキー

企業内の“野良マクロ”を駆逐するExcelの新機能
https://ascii.jp/elem/000/001/673/1673841/

 Excelに、ビジネスロジックを一変させる新機能が登場した。JavaScriptベースでExcelの機能拡張を作成し、管理センター経由でOffice 365を利用する特定のユーザーへ配布可能とする。企業内に多数存在するVBAを使った“野良マクロ”を駆除する有益な機能と言える。

ここまでバカにされてやる気を出す人間はいない。地獄に堕ちろマジで。

Windows 用の日本の新元号対応更新プログラムについて - KB4469068

適用対象: Windows 10, version 1809, Windows 10, version 1803, Windows 10, version 1607, 詳細
2019 年 5 月 1 日より新元号ならびに新元号による暦が開始されます。
マイクロソフトは、この変更の準備を進めており、通常の更新プログラムを公開する流れの一部として更新プログラムを毎月 発行する予定です。スタンドアロン パッケージとして提供する予定はありません。’
?Windows 10 サービス モデルについては、2018 年 12 月に公開されたブログ記事「Windows 用のマンスリー セキュリティおよび品質更新プログラムの概要」を参照してください。
?Windows 8.1 およびそれ以前の SO 更新プログラムについては、2016 年 10 月に公開されたブログ記事「Windows 7 および Windows 8.1 のサービス モデル変更についての追加情報」を参照してください。

この更新プログラムは、お客様と開発者が日本の新元号 の変更によるアプリケーションおよび/または Windows 展開への影響について検証し、確認してもらうことを目的としています。 これらの更新プログラムには、’新元号に関連するアーティファクト (フォントなど) は含まれていない点に注意してください 。新元号の名称の正式発表後に、フォントなどのアーティファクトをリリースします。’

注:

Office および .NET Framework 用の日本の元号対応更新プログラムについては、「その他のリソース」を参照してください。

Windows 用更新プログラム

以下は、対象の Windows のバージョンごとに一覧表示された、日本の新元号対応更新プログラムに関するサポート技術情報の記事の最新の一覧です。Windows 用の日本の新元号対応 更新プログラムが利用可能になった時点で、’このリストを更新します。

最新の更新プログラムをインストールするだけで大丈夫です。それぞれの更新プログラムには以前の更新プログラムがすべて含まれています。最適な形で更新するために、デバイスに更新プログラムを自動的にインストールすることをお勧めします。それぞれの Windows Update 自動更新にも、最新の日本の元号対応更新プログラムが含まれています。

セキュリティのみの (SO) 更新プログラムをご使用のお客様は、「セキュリティのみの更新プログラムを適用されているお客様向けの変更点」を参照してください。

最新の更新プログラム

サポート技術情報 Windows のバージョン

KB 4476976 Windows 10 Version 1809 および Windows Server Version 1809
KB 4489894 Windows 10 Version 1803 および Windows Server Version 1803
KB 4489890 Windows 10 Version 1709
KB 4489888 Windows 10 Version 1703 および Windows Server Version 1703
KB 4489889 Windows 10 バージョン 1607 および Windows Server 2016
KB 4487018 Windows 10 RTM
KB 4489887 Windows Server 2008 SP2
KB 4489893 Windows 8.1 および Windows Server 2012 R2
KB 4489920 Windows Server 2012
KB 4489892 Windows 7.0 SP1 と Windows Server 2008 R2 SP1

セキュリティのみの更新プログラムを適用されているお客様向けの変更点

このセクションは、Windows 8.1 およびそれ以前のバージョンのサポートされる Windows 用のセキュリティのみ (SO) の更新プログラムを利用しているお客様のみに向けたものです。このお客様は、ご使用のオペレーティング システム用の 日本の新元号への変更を含む次の更新プログラムを インストールする必要があります。Windows 8.1 およびそれ以前のセキュリティのみ (SO) の更新プログラムについては、2016 年 10 月に公開された「Windows 7 および Windows 8.1 のサービス モデル変更についての追加情報」を参照してください。

注:

Windows 用の一般的な更新プログラムとは異なり、セキュリティのみ (SO) の更新プログラムは累積的なものではありません。A 単一のパッケージに、すべての日本の元号変更に対応する更新プログラムが含まれていません。お客様は、以前の各セキュリティのみ (SO) の更新プログラムを古い順にインストールする必要があります。
2019 年 3 月のセキュリティのみの更新プログラム

サポート技術情報 Windows のバージョン
KB 4489883 Windows 8.1 および Windows Server 2012 R2
KB 4489884 Windows Server 2012
KB 4489885 Windows 7.0 SP1 と Windows Server 2008 R2 SP1
KB 4489876 Windows Server 2008 SP2

2019 年 1 月のセキュリティのみの更新プログラム

サポート技術情報 Windows のバージョン
KB 4480964 Windows 8.1 および Windows Server 2012 R2
KB 4480972 Windows Server 2012
KB 4480960 Windows 7.0 SP1 および Windows Server 2008 R2

2019 年 3 月のセキュリティのみの更新プログラム

サポート技術情報 Windows のバージョン
KB 4489883 Windows 8.1 および Windows Server 2012 R2
KB 4489884 Windows Server 2012
KB 4489885 Windows 7.0 SP1 と Windows Server 2008 R2 SP1
KB 4489876 Windows Server 2008 SP2

2019 年 1 月のセキュリティのみの更新プログラム

サポート技術情報 Windows のバージョン
KB 4480964 Windows 8.1 および Windows Server 2012 R2
KB 4480972 Windows Server 2012
KB 4480960 Windows 7.0 SP1 および Windows Server 2008 R2

日本の新元号がサポートされている製品

マイクロソフトは、日本の新元号対応更新プログラムに関して、次の Windows 製品をサポートしています。

Windows クライアント

Windows 10 Version 1809
Windows 10 Enterprise LTSC 2019
Windows 10 Version 1803
Windows 10 Version 1709
Windows 10 Version 1703
Windows 10 Version 1607
Windows 10 Enterprise LTSB 2016
Windows 10 Enterprise LTSB 2015
Windows 8.1
Windows 7 SP1

編注 XP VISTAが除外

Windows Server

Windows Server 2019
Windows Server SAC Version 1809
Windows Server SAC Version 1803
Windows Server SAC Version 1709
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Windows Server 2008 R2 SP1
Windows Server 2008 SP2

Windows Embedded & IoT

Windows 10 IoT Core SAC Version 1809
Windows 10 IoT Core LTSC Version 1809
Windows 10 IoT Enterprise SAC Version 1809
Windows 10 IoT Enterprise LTSC 2019
Windows 10 IoT Core SAC Version 1803
Windows 10 IoT Enterprise SAC Version 1803
Windows 10 IoT Core SAC Version 1709
Windows 10 IoT Enterprise SAC Version 1709
Windows 10 IoT Core SAC Version 1703
Windows 10 IoT Enterprise SAC Version 1703
Windows 10 IoT Core SAC Version 1607
Windows 10 IoT Enterprise SAC Version 1607
Windows 10 IoT Enterprise LTSB 2016
Windows 10 IoT Enterprise LTSB 2015
Windows Embedded 8.1 Industry Enterprise
Windows Embedded 8.1 Industry Pro
Windows Embedded 8.1 Pro
Windows Server 2012 R2 for Embedded Systems
Windows Embedded 8 Standard
Windows Server 2012 for Embedded Systems
Windows Embedded POSReady 7
Windows Embedded Standard 7 SP 1
Windows Thin PC
Windows Embedded Compact 2013
Windows Embedded Compact 7

Windows で新元号のアーティファクトを検証する方法

ユーザーとパートナーの皆様が日本の新元号対応に簡単に備えられるように、 プレースホルダーのレジストリ エントリをシステムに追加するタイミングを選択できます。現在、次の Windows 製品でサポートされているプレースホルダー レジストリは次のとおりです。

Windows 10

?Windows 10 Version 1809
?Windows 10 Version 1803
?Windows 10 Version 1607

Windows 10 以前のバージョン

?Windows 8.1/Windows Server 2012 R2
?Windows 7 SP1/Windows Server 2008 R2 SP1
?Windows Server 2012
?Windows Server 2008 SP2

推奨されるテスト シナリオ

注:

変更を行う前に、レジストリ設定をバックアップすることをお勧めします。

1.元号移行予定テスト

  • このテスト シナリオは、新元号への移行を未来の日付に設定したときに、基幹業務 (LOB) アプリケーションが機能することを確認するためのものです。
  • たとえば、現在の元号は平成で、移行日は 2019 年 5 月 1 日に予定されているとします。
  1. 次のレジストリ パスで次のレジストリ キーを設定します。
  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] - "2019 05 01"="新元号_新_TestEra_E"

アクティブ元号移行テスト

  • 現在の元号を新しい元号に設定したときに LOB が機能することを確認するテスト シナリオです。
  • たとえば、暦の移行は 2018 年 5 月 1 日に既に発生しており、現在の元号は新元号 (TestEra) だとします。


  1. 次のレジストリ パスで次のレジストリ キーを設定します。

  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] - "2018 05 01"="新元号_新_TestEra_E"
  3. テストの設定

    使用している LOB アプリケーションに合わせて、新しい日本の元号変更に関するさまざまなテスト シナリオを有効にするためのレジストリ設定の更新を開始します。現在のレジストリ設定をバックアップした後に、次の手順で設定を変更します。

    次のレジストリ パスで次のレジストリ キーを追加します。[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
    "2019 05 01"="新元号_新_TestEra_E"

    次の手順で和暦をテストします。


  • タスクバーの検索ボックスで、「コントロール パネル」と入力し、[コントロール パネル] を選択します。
  • [ 地域と時計] を選択し、[ 地域] を選択して形式を変更します。 画像はリンク先参照
  • [形式] を [日本語 (日本)] に変更します。
  • [ 追加の設定 ] ボタンを選択して [ 形式のカスタマイズ] を開きます。
    日本の元号のカスタマイズ設定(画像はリンク先参照)
  • [日付] タブを選択します。
  • [カレンダーの種類] を [和暦] に変更し、[OK] を選択して設定を適用します。

日本の新元号がサポートされる機能

元年対 1年

歴史的な実践において、元号の 1 年目については、“起点” または“開始”を意味する特殊文字の“元” が数字の “1 の代わりに使用されます。 ” 1 年目の“元年”は、グレゴリオ暦年の最終日にあたる 12 月 31 日まで続きます。

Windows は、元号の 1 年目として “元年” と “1 年” の両方をサポートします。サポート提供中の Windows 10 Version 1809 およびそれ以前のすべての Windows については、元年は既定で OFF になりますが、有効にできます。

元年を有効にするには、

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese] で InitialEraYear レジストリ キーを “元年” に設定します。

Windows のバージョン 既定の元年の ON/OFF
19H1 (Windows Insider ビルド) ON
Windows 10 Version 1809 OFF
Windows 10 Version 1803 OFF
Windows 10 Version 1709 OFF
Windows 10 Version 1703 OFF
Windows 10 Version 1607 OFF
Windows 10 RTM OFF
Windows 8.1 / Windows Server 2012 R2 OFF
Windows7/Windows Server 2008 R2 OFF
Windows Server 2012 OFF
Windows Server 2008 OFF

注:

すべてのバージョンの .NET Framework は既定で “元年” をサポートします。

元年を無効にするには、

Switch.System.Globalization.FormatJapaneseFirstYearAsANumber を true に設定します。
詳細については、記事「.NET Framework 用の日本の新元号対応更新プログラムの概要 」を参照してください。
Microsoft Excel および Microsoft Access は、’元年“ をサポート” していませんが、Office の VBA プログラミングは OLE に依存しており、VBA コードで “元年” をサポートしています。詳細については、記事「日本の新元号に関する Office の更新プログラム 」を参照してください。

範囲の緩和

2019 年 4 月 30 日に平成の元号 (平成31年) が終了し、2019 年 5 月 1 日に新元号が開始されると、“平成31年5月1日” は無効になります。OLE および .NET Framework の未来/過去の日付 (グレゴリオ暦と和暦の日付の両方) を日本の新元号の日付に変換できるように、パーサーを緩和しました。日本の新元号が発表された時点で、平成の未来の日付を日本の新元号に変換することもできます。OLE では無効にできませんが、.NET Framework では無効にできます。
注:
.NET Framework で無効にするには、
Switch.System.Globalization.EnforceJapaneseEraYearRanges を true に設定します。
詳細については、「.NET Framework 用の日本の新元号対応更新プログラムの概要」を参照してください。

元号の名称の略語

Windows は既存の省略形の機能を引き続きサポートします。たとえば、平成の年号の場合、漢字では省略された形式は “平” になり、英語では “H” になります

合字

日本の「漢字」には、元号の名称を許可する合字/グリフが含まれています。「平成」は、漢字 2 文字で表現されます。この合字にあたる「�」は、漢字 1 文字で表現されます。既存の 4 つの元号と新元号の合字の文字コード ポイントは次のとおりです。

� (U+337E)
� (U+337D)
� (U+337C)
� (U+337B)

{新元号の漢字合字} U+32FF

注:

Microsoft Windows コード ページ 932 (MS932)、すなわちシフト JIS エンコーディングは、新元号の合字をサポートしません。Unicode の日本の新元号の合字 (漢字 1 文字) の文字をマルチ バイト文字に変換中に文字が正しく表示されないことがあります。MS932 エンコーディングでその逆を行う変換の場合も同様です。たとえば、VBA モジュール内で StrConv 関数を使用して、vbWide,vbNarrow, vbKatakana, or vbHiragana などの特定のロケール識別子の文字列を変換します。

照合順序

照合順序は、数字順、アルファベット順、またはその両方に基づいて記載された情報の集合体を標準の順序に変更します。現在、サポートされている Windows オペレーティング システムで照合順序はサポートされていません。

正規化

漢字による元号のフル ネームは、漢字合字による元号の名称に正規化できます。その逆も同様です。 たとえば、平成の元号を表現する 2 文字はそれに相当する合字「�」に変換されます。その逆も同様です。ただし、マイクロソフトは、新元号の正規化機能をサポートするための更新プログラムをリリースしません。

OLE

特定の OLE 機能を更新して、日本の新元号を正しく処理するようにします。ご使用のアプリーションが Visual Basic 6.0、VBScript、VBA、JavaScript、または ATL/MFC ライブラリの日付と時刻の機能を使用している場合、Windows 用の最新の更新プログラムを適用する必要があります。また、これらのライブラリは内部で OLE 機能を使用しているため、場合によってはアプリーションのリビルドが必要になることもあります。

Windows で新元号のアーティファクトを検証する方法

ユーザーとパートナーの皆様が日本の新元号対応に簡単に備えられるように、 プレースホルダーのレジストリ エントリをシステムに追加するタイミングを選択できます。現在、次の Windows 製品でサポートされているプレースホルダー レジストリは次のとおりです。

Windows 10
Windows 10 以前のバージョン
推奨されるテスト シナリオ

注:

変更を行う前に、レジストリ設定をバックアップすることをお勧めします。

1.元号移行予定テスト

このテスト シナリオは、新元号への移行を未来の日付に設定したときに、基幹業務 (LOB) アプリケーションが機能することを確認するためのものです。

たとえば、現在の元号は平成で、移行日は 2019 年 5 月 1 日に予定されているとします。’

次のレジストリ パスで次のレジストリ キーを設定します。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] - "2019 05 01"="新元号_新_TestEra_E"
2.アクティブ元号移行テスト

現在の元号を新しい元号に設定したときに LOB が機能することを確認するテスト シナリオです。

たとえば、暦の移行は 2018 年 5 月 1 日に既に発生しており、現在の元号は新元号 (TestEra) だとします。

次のレジストリ パスで次のレジストリ キーを設定します。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] - "2018 05 01"="新元号_新_TestEra_E"

テストの設定

使用している LOB アプリケーションに合わせて、新しい日本の元号変更に関するさまざまなテスト シナリオを有効にするためのレジストリ設定の更新を開始します。現在のレジストリ設定をバックアップした後に、次の手順で設定を変更します。

次のレジストリ パスで次のレジストリ キーを追加します。[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2019 05 01"="新元号_新_TestEra_E"

次の手順で和暦をテストします。

  1. タスクバーの検索ボックスで、「コントロール パネル」と入力し、[コントロール パネル] を選択します。
  2. [ 地域と時計] を選択し、[ 地域] を選択して形式を変更します。
  3. [形式] を [日本語 (日本)] に変更します。
  4. [ 追加の設定 ] ボタンを選択して [ 形式のカスタマイズ] を開きます。
  5. [日付] タブを選択します。
  6. [カレンダーの種類] を [和暦] に変更し、[OK] を選択して設定を適用します。

日本の新元号がサポートされる機能

元年対 1年

歴史的な実践において、元号の 1 年目については、“起点” または“開始”を意味する特殊文字の“元” が数字の “1 の代わりに使用されます。 ” 1 年目の“元年”は、グレゴリオ暦年の最終日にあたる 12 月 31 日まで続きます。

Windows は、元号の 1 年目として “元年” と “1 年” の両方をサポートします。サポート提供中の Windows 10 Version 1809 およびそれ以前のすべての Windows については、元年は既定で OFF になりますが、有効にできます。

元年を有効にするには、[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese] で InitialEraYear レジストリ キーを “元年” に設定します。

Windows のバージョン 既定の元年の ON/OFF
19H1 (Windows Insider ビルド) ON
Windows 10 Version 1809 OFF
Windows 10 Version 1803 OFF
Windows 10 Version 1709 OFF
Windows 10 Version 1703 OFF
Windows 10 Version 1607 OFF
Windows 10 RTM OFF
Windows 8.1 / Windows Server 2012 R2 OFF
Windows7/Windows Server 2008 R2 OFF
Windows Server 2012 OFF
Windows Server 2008 OFF

注:

すべてのバージョンの .NET Framework は既定で “元年” をサポートします。

元年を無効にするには、

Switch.System.Globalization.FormatJapaneseFirstYearAsANumber を true に設定します。
詳細については、記事「.NET Framework 用の日本の新元号対応更新プログラムの概要 」を参照してください。
Microsoft Excel および Microsoft Access は、’元年“ をサポート” していませんが、Office の VBA プログラミングは OLE に依存しており、VBA コードで “元年” をサポートしています。詳細については、記事「日本の新元号に関する Office の更新プログラム 」を参照してください。

範囲の緩和

2019 年 4 月 30 日に平成の元号 (平成31年) が終了し、2019 年 5 月 1 日に新元号が開始されると、“平成31年5月1日” は無効になります。OLE および .NET Framework の未来/過去の日付 (グレゴリオ暦と和暦の日付の両方) を日本の新元号の日付に変換できるように、パーサーを緩和しました。日本の新元号が発表された時点で、平成の未来の日付を日本の新元号に変換することもできます。OLE では無効にできませんが、.NET Framework では無効にできます。

注:

.NET Framework で無効にするには、

Switch.System.Globalization.EnforceJapaneseEraYearRanges を true に設定します。
詳細については、「.NET Framework 用の日本の新元号対応更新プログラムの概要」を参照してください。

元号の名称の略語

Windows は既存の省略形の機能を引き続きサポートします。たとえば、平成の年号の場合、漢字では省略された形式は “平” になり、英語では “H” になります。

合字

日本の「漢字」には、元号の名称を許可する合字/グリフが含まれています。「平成」は、漢字 2 文字で表現されます。この合字にあたる「Webでは表記されず」は、漢字 1 文字で表現されます。既存の 4 つの元号と新元号の合字の文字コード ポイントは次のとおりです。
Webでは表記されず (U+337E)
Webでは表記されず (U+337D)
Webでは表記されず (U+337C)
Webでは表記されず (U+337B)
{新元号の漢字合字} U+32FF

注:

Microsoft Windows コード ページ 932 (MS932)、すなわちシフト JIS エンコーディングは、新元号の合字をサポートしません。Unicode の日本の新元号の合字 (漢字 1 文字) の文字をマルチ バイト文字に変換中に文字が正しく表示されないことがあります。MS932 エンコーディングでその逆を行う変換の場合も同様です。たとえば、VBA モジュール内で StrConv 関数を使用して、vbWide,vbNarrow, vbKatakana, or vbHiragana などの特定のロケール識別子の文字列を変換します。

照合順序

照合順序は、数字順、アルファベット順、またはその両方に基づいて記載された情報の集合体を標準の順序に変更します。現在、サポートされている Windows オペレーティング システムで照合順序はサポートされていません。

正規化

漢字による元号のフル ネームは、漢字合字による元号の名称に正規化できます。その逆も同様です。 たとえば、平成の元号を表現する 2 文字はそれに相当する合字「�」に変換されます。その逆も同様です。ただし、マイクロソフトは、新元号の正規化機能をサポートするための更新プログラムをリリースしません。

漢字による元号のフル ネームと漢字合字による元号の名称は、日本の文化固有の比較を示す場合でも、文字列の比較時に異なる文字列として処理されます。これは仕様によるものであり、マイクロソフトは、日本の新元号に関するこの動作を変更しません。

OLE

特定の OLE 機能を更新して、日本の新元号を正しく処理するようにします。ご使用のアプリーションが Visual Basic 6.0、VBScript、VBA、JavaScript、または ATL/MFC ライブラリの日付と時刻の機能を使用している場合、Windows 用の最新の更新プログラムを適用する必要があります。また、これらのライブラリは内部で OLE 機能を使用しているため、場合によってはアプリーションのリビルドが必要になることもあります。

FAQ

日本の新元号のサポートを有効にするために、サポート技術情報の記事に記載されている更新プログラムをすべてインストールする必要がありますか?

日本の元号対応修正プログラムが Windows デバイスにインストールされたことをどのように確認するのでしょうか?

Windows で、日本の新元号をサポートするために利用可能な異なるレジストリ キーの設定は何ですか?

その他のリソース
?Using the Registry to Test the New Japanese Era on Windows (英語情報) - 2018 年 8 月のブログ.
?Windows 10 Version 1803 (2018 年 9 月リリース) の更新プログラムでは、プレースホルダーのレジストリ を使用してお客様のアプリケーションをテストできるように、オプトイン オプションを有効にしました。(KB4458469)
?一部のバージョンの Windows では、.NET Framework の更新プログラムが別の .NET Framework 固有の累積的な更新プログラムを介して配信されます。詳細については、「.NET Framework 用の日本の新元号対応更新プログラムの概要」を参照してください。
?日本の新元号対応更新プログラムを開発している他の Microsoft 製品の詳細については、「2019 年 5 月の新元号への変更に関する更新」を参照してください。

およびそれ以前にリリースされた更新プログラム

お客様は、Windows Update から 最新の更新プログラムをインストールするだけで大丈夫です。または、上記の「Windows 用更新プログラム」に記載されている更新プログラムから最新の更新プログラムを手動でインストールできます。

2019 年 2 月の更新プログラム
2019 年 1 月の更新プログラム
2018 年 11 月の更新プログラム
2018 年 10 月の更新プログラム

最終更新日: 2019/04/02

6
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3