日付データを和暦(平成yy年mm月dd日)で出力する方法は?

文書番号 : 24067     文書種別 : 使用方法     最終更新日 : 2007/06/28
文書を印刷する
対象製品
ActiveReports for .NET 3.0J Professional Edition
詳細
製品自体には日付データを和暦で出力するための機能は用意されておりませんが、.NET FrameworkのJapaneseCalendarクラスを使用し、コード上で日付データを和暦形式の文字列に変換することで、実現が可能です。

◆サンプルコード(VB.NET)
Private Sub Detail_Format(...)
 ' カルチャの「言語-国/地域」を「日本語-日本」に設定します。
 Dim ci As New System.Globalization.CultureInfo("ja-JP")
 ' 和暦を表すクラスです。
 Dim jp As New System.Globalization.JapaneseCalendar
 Dim dt As System.DateTime

 ' 現在のカルチャで使用する暦を、和暦に設定します。
 ci.DateTimeFormat.Calendar = jp

 ' TextBoxのデータを、DateTime型に変換します。
 dt = DateTime.Parse(TextBox1.Value)

 ' 「書式」「カルチャの書式情報」を使用し、文字列に変換します。
 TextBox1.Text = dt.ToString("ggyy年MM月dd日", ci)
End Sub

◆サンプルコード(C#)
private void Detail_Format(...)
{
 // カルチャの「言語-国/地域」を「日本語-日本」に設定します。
 System.Globalization.CultureInfo ci
  = new System.Globalization.CultureInfo("ja-JP");
 // 和暦を表すクラスです。
 System.Globalization.JapaneseCalendar jp
  = new System.Globalization.JapaneseCalendar();
 System.DateTime dt;

 // 現在のカルチャで使用する暦を、和暦に設定します。
 ci.DateTimeFormat.Calendar = jp;

 // TextBoxのデータを、DateTime型に変換します。
 dt = DateTime.Parse(TextBox1.Text);

 // 「書式」「カルチャの書式情報」を使用し、文字列に変換します。
 TextBox1.Text = dt.ToString("ggyy年MM月dd日", ci);
}

◆サンプルスクリプト
public void Detail_Format()
{
// カルチャの「言語-国/地域」を「日本語-日本」に設定します。
System.Globalization.CultureInfo ci
= new System.Globalization.CultureInfo("ja-JP");
// 和暦を表すクラスです。
System.Globalization.JapaneseCalendar jp
= new System.Globalization.JapaneseCalendar();
System.DateTime dt;

// 現在のカルチャで使用する暦を、和暦に設定します。
ci.DateTimeFormat.Calendar = jp;

// TextBoxのデータを、DateTime型に変換します。
dt = System.DateTime.Parse(((DataDynamics.ActiveReports.TextBox)(rpt.Sections["Detail"].Controls["TextBox1"])).Text);

// 「書式」「カルチャの書式情報」を使用し、文字列に変換します。
((DataDynamics.ActiveReports.TextBox)rpt.Sections["Detail"].Controls["TextBox1"]).Text = dt.ToString("ggyy年MM月dd日", ci);
}

JapaneseCalendarクラスの詳細につきましては、MSDNライブラリ等をご参照ください。

JapaneseCalendar クラス (System.Globalization)
http://msdn2.microsoft.com/ja-jp/library/system.globalization.japanesecalendar(VS.80).aspx

この文書は、以前は次のFAQ IDで公開されていました : 10271