やってくれたぜwindows update 新元号問題 vol.2

2019年2月某日。

とあるプログラムがある朝突然動かなくなりました。

 

原因は↓のwindows updateです。

f:id:anocaster:20190215092508p:plain

詳細は↓のリンク

https://support.microsoft.com/ja-jp/help/4487044/windows-10-update-kb4487044

 

元号対応の一環と思われますが、実はこのupdateによってvb6.format関数の戻りが変わります。具体的には、1989/01/08~1990/01/07のdate型をggge形式にformatすると、以前は「平成1年」と返ってきていたのに「平成元年」と返ってくるようになっています。「1」が突然「元」になる弊害は半端じゃないと思います。

また、vb.netでは平成1年はdate型にcastできますが平成元年はcastできません。

 

まだそんなに調べてませんが、windows10で発生してます。

対応方法ですが、↓によると

https://support.microsoft.com/ja-jp/help/4477957/new-japanese-era-updates-for-net-framework

".NET の既定の書式設定操作では、"元年" の表記が採用されています。 年を表すときに "元年" ではなく常に “1” と表記する以前の動作に戻すには、Switch.System.Globalization.FormatJapaneseFirstYearAsANumber を true に設定します。"

とのことです。これって各プロジェクトのapp.configに記述するんだろうか。そんなのプログラム修正と変わらんじゃんね。っていうかvb6.formatも切り替え対象になるのか?ならないような。いろいろ試さないとね…

 

おわり。