和暦変換について質問です。
20220225 とある場合、R04という具合に変換する方法を教えて頂けませんでしょうか?※R04は令和4年といういみです。
20211225 は R03に変換
20201101 は R02に変換
20191011 は H31に変換 ※ここはR01ではなく、H31にしたいです。
20190904 は H30に変換
以降は続きます。
※日付は変動するので、左から4つの文字変換したいです。
ご教示よろしくお願いいたします。
和暦変換について質問です。
20220225 とある場合、R04という具合に変換する方法を教えて頂けませんでしょうか?※R04は令和4年といういみです。
20211225 は R03に変換
20201101 は R02に変換
20191011 は H31に変換 ※ここはR01ではなく、H31にしたいです。
20190904 は H30に変換
以降は続きます。
※日付は変動するので、左から4つの文字変換したいです。
ご教示よろしくお願いいたします。
Where can I please refer the calendar type you are referring to, which will help me understand and provide a solution.
エクセルのデータテーブルになります。
こんにちは
正攻法(?)でいくなら
yourString="20220225"
strYear = yourString.Substring(0,4)
d = New DateTime(Int32.Parse(strYear),1,1)
ci = New System.Globalization.CultureInfo("ja-JP")
ci.DateTimeFormat.Calendar = new System.Globalization.JapaneseCalendar
として
d.ToString("ggyy",ci)
で「令和04」が返ります。
あとは令和とR,平成とH等をReplaceメソッド等で置換すれば良いかと思います。
ただ、本件はおそらく多くても100種類程度しかないと思いますので
{“2022”,“R04”},{“2021”,“R03”}
といった変換テーブルを用意しておいて
それで直接変換してしまっても良いかもしれません
いつもありがとうございます。
質問なのですが、
d.ToString(“ggyy”,ci) の d とは何にあたるのでしょうか?
こんにちは
以下の部分になります。DateTime型で、当該年の1/1になります。(日付によらず平成31年を返したいとのことでしたので)
d = New DateTime(Int32.Parse(strYear),1,1)
返信ありがとうございます。
できました!
目が疲れすぎて、d と b を勘違いしてしまいました。
いつもありがとうございます!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.