フレームワークの和暦の対応状況

改元も近づいてきたので、「2020/7/7」を和暦で表示するアプリを作って、.NET Framework 4.6.2 と 3.5 でそれぞれビルドして動かしてみた。フレームワークによって、和暦の扱いは違うのか?



ソースは下記の通り。

CultureInfo ci = CultureInfo.CreateSpecificCulture("ja-JP");
JapaneseCalendar ja = new JapaneseCalendar();
ci.DateTimeFormat.Calendar = ja;
DateTime dd = DateTime.Parse("2020/7/7");
string s1 = string.Format(ci, "{0:gyy年MM月dd日}", dd);

.NET Framework 4.6.2でビルドしたアプリでは、ちゃんと2年になっていた。新しい元号はまだわからないので「??」となっている。


.NET Framework 3.5.1でビルドしたアプリでは、平成32年になっている。新しい元号にはまだ対応していない模様。


いつごろ対応するのかしら。しないなら、しないで、構わないので早目に教えて欲しい。



和暦の書式は、C#では「gyy」で「平成30」となる。和暦の略称の書式指定はないので「H30」とは表示できない。

ちなみにエクセル2016では、「[$-ja-JP]ge.m.d;@」という書式指定で「H30.7.7」と表示される。「ge」?



2018/9/17追記

.NET Framework3.5では、新しい元号にまだ対応していない模様。


コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。