はじめに
C#にて西暦から和暦に、和暦から西暦に変換する必要があったので、備忘録としてまとめたいと思います。
共通事項
「using System.Globalization;」を記述して、System.Globalization 名前空間を呼び出します。
System.Globalizationとは・・・
言語、国/地域、使用する暦、日付形式、通貨形式、数値形式、文字列並べ替え順序などのカルチャ関連情報を定義するクラスが含まれています。
―MicrosoftDocs:https://docs.microsoft.com/ja-jp/dotnet/api/system.globalization?view=net-5.0
■西暦から和暦への変換
public static string Get和暦(DateTime date){
CultureInfo Japanese = new CultureInfo(“ja-JP”);
Japanese.DateTimeFormat.Calendar = new JapaneseCalendar();
string wareki_date = date.ToString(“ggyy年M月d日”, Japanese);
return wareki_date;
}
CultureInfo Japanese = new CultureInfo(“ja-JP”);
→CultureInfoクラスのパラメーターに”ja-JP”を付けてインスタンスを生成すると日本固有の情報を扱えるようになります。
Japanese.DateTimeFormat.Calendar = new JapaneseCalendar();
→JapaneseCalenderクラスのインスタンスを代入すると和暦を扱えるようになります。
■和暦から西暦への変換
public static string Get西暦(string date){
CultureInfo Japanese = new CultureInfo(“ja-JP”);
Japanese.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTime seireki_date = DateTime.Parse(date, new CultureInfo(“ja-JP”));
return seireki_date.ToString(“yyyy/MM/dd”);
}
上記で和暦を含む日付を取り扱うことができます!
Webエンジニアとして勤務。
観劇と音楽が趣味です。
最近のコメント