トップ回答者
vb6.Format関数 新元号対応について

質問
回答
-
現状、その仕組みが用意されていないもの、予定が公表されていないものについてどうなるかはわかりません。
予防的に対応されるのであれば、現状でもレジストリを書くだけで切り替わる仕組みが用意されている手段に乗り換えることが楽でしょう。
それ以外の方法は現時点で確かなことはわかりません。
対応されるかされないかは Microsoft の決定次第ですが、現時点で具体的な予定は明かされていませんので、Microsoft の有償サポートで聞き出す以外の手はないでしょう。
(ただし、聞いても教えてくれるかはわかりません)- 編集済み AzuleanMVP, Moderator 2017年6月23日 13:02
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月4日 6:58
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年7月21日 6:26
すべての返信
-
新しい元号は Windows Update によってレジストリの下記の場所に情報が追加されるようです。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras\
仮に新しい元号を、上記レジストリに登録して確認してみましたが、
.NET Framework のバージョンによらず、VB6.Format は新しい元号を取得できませんでした。
元号を取得する別の方法
Dim jp As New CultureInfo("ja-jp", True) jp.DateTimeFormat.Calendar = New JapaneseCalendar() Dim dt As Date = Now Label2.Text = dt.ToString("gy年MM月dd日", jp)
上記のコード かつ .NET Framework 4以降で正しく元号を取得できました。現時点では VB6.Format は新しい元号に対応できていないようですので、コードを修正する必要がありそうです。
参考サイト:
https://social.msdn.microsoft.com/Forums/ja-JP/a93ec79d-69a5-4bb7-ae5d-a8aabfdcb9dd
http://dobon.net/vb/dotnet/string/datetimeformat.html- 編集済み kenjinoteMVP 2017年6月23日 3:09
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月4日 6:58
-
現状、その仕組みが用意されていないもの、予定が公表されていないものについてどうなるかはわかりません。
予防的に対応されるのであれば、現状でもレジストリを書くだけで切り替わる仕組みが用意されている手段に乗り換えることが楽でしょう。
それ以外の方法は現時点で確かなことはわかりません。
対応されるかされないかは Microsoft の決定次第ですが、現時点で具体的な予定は明かされていませんので、Microsoft の有償サポートで聞き出す以外の手はないでしょう。
(ただし、聞いても教えてくれるかはわかりません)- 編集済み AzuleanMVP, Moderator 2017年6月23日 13:02
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月4日 6:58
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年7月21日 6:26