Windows10でも「令和」に変換できたが「元年」表記なんだ、、、
新元号対応のアップデートを待っているのだが、Windows10の最新版用のが出ないので、仕方なくWindows10の1709バージョンの仮想PCを作って試したところ、5月1日が「令和」に変換できた。
前の記事で使った西暦を和暦に変換するアプリを動かしたところ、2019年5月1日が令和1年5月1日に変換できた!
しかし、「令和1年」ではなく「令和元年」に変換されている!デフォルトが元年に変換されるのか。
そして「令和元年」は西暦に変換できない。これはまずいのでは?
*
和暦から西暦に変換するのに、Datetime.TryParseメソッドを使っていたのだが、日本語のCultureInfo を指定しないと「元年」は変換できないらしい。
「令和元年」ではなく「令和1年」ならCultureInfoを指定しなくても変換できる。和暦なのにCultureInfoを指定せずに変換できるのも不思議と云うか、中途半端というか、よくわからない。
変換できる和暦のテキストは試した限りでは以下の通り。
CultureInfo無しでもOK
前の記事で使った西暦を和暦に変換するアプリを動かしたところ、2019年5月1日が令和1年5月1日に変換できた!
しかし、「令和1年」ではなく「令和元年」に変換されている!デフォルトが元年に変換されるのか。
そして「令和元年」は西暦に変換できない。これはまずいのでは?
*
和暦から西暦に変換するのに、Datetime.TryParseメソッドを使っていたのだが、日本語のCultureInfo を指定しないと「元年」は変換できないらしい。
var ci = new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } }; if (DateTime.TryParse(s, ci, DateTimeStyles.AssumeLocal, out DateTime dd)) { lb.Text = dd.ToShortDateString(); }
「令和元年」ではなく「令和1年」ならCultureInfoを指定しなくても変換できる。和暦なのにCultureInfoを指定せずに変換できるのも不思議と云うか、中途半端というか、よくわからない。
変換できる和暦のテキストは試した限りでは以下の通り。
CultureInfo無しでもOK
- 令和1年5月5日
- 令和1-5-5
- 令和1/5/5
- R1.5.5
- R1/5/5
- R1-5-5
- R1 5 5
- 令和元年5月5日
- 令和元-5-5
- 令和元/5/5
- R元.5.5
- R元/5/5
- R元-5-5
- R元 5 5
コメント
コメントを投稿