Input for WinForms
3種類の年号表記
C1Input コントロールの使い方 > 日本語特有の機能 > 和暦表示(C1DateEdit コントロール) > 3種類の年号表記

C1DateEditの和暦表示に使用される年号は、既定で以下の3種類が指定可能です。

1 正式名称 明治/大正/昭和/平成(例:平成16年)
2 頭文字 明/大/昭/平(例:平16年)
3 アルファベット M/T/S/H(例:H16年)

年号の種類を指定するには、カスタム書式指定子の最初の部分をそれぞれ以下のように設定します。

  1. "ggyy"
  2. "gyy"
  3. "g.yy"

次の表に、カスタム書式指定子の設定例を示します。

書式 出力例
1. ggyy年MM月dd日 平成28年05月01日
2. gyy年MM月dd日 平28年05月01日
3. g.yy年MM月dd日 H28年05月01日

編集時/表示時の和暦表示

C1DateEditコントロールの書式は、編集時と表示時で別々に設定することができます。編集時の書式を設定するにはEditFormatプロパティを、表示時の書式を設定するにはDisplayFormatプロパティを使用します。この機能を使うと、表示時を和暦に、編集時を西暦にしたり、編集時/表示時で和暦表記の種類を変えたりすることができます。

編集時のカスタム書式指定子

編集時に指定可能な和暦関連の書式指定子は以下の通りです。

書式指定子 説明
g 年号の頭文字を漢字で表示(明、大、昭、平)
gg 年号の正式名称を漢字で表示(明治、大正、昭和、平成)
g. 年号の頭文字をアルファベットで表示(M、T、S、H)
y 和暦年を2桁で表示(先頭に0を付けない)
yy 和暦年を2桁で表示(先頭に0を付ける)
M 月を2桁の数字で表示(先頭に0を付けない)
MM 月を2桁の数字で表示(先頭に0を付ける)
d 日を2桁で表示(先頭に0を付けない)
dd 日を2桁で表示(先頭に0を付ける)

表示時のカスタム書式指定子

表示時に指定可能な和暦関連の書式指定子は以下の通りです。

書式指定子 説明
g 年号の頭文字を漢字で表示(明、大、昭、平)
gg 年号の正式名称を漢字で表示(明治、大正、昭和、平成)
g. 年号の頭文字をアルファベットで表示(MTSH)
y 和暦年を2桁で表示(先頭に0を付けない)
yy 和暦年を2桁で表示(先頭に0を付ける)
E

和暦年を2桁で表示し開始年を元と表示(先頭に0を付ける)

(例:平成元年)

M 月を2桁の数字で表示(先頭に0を付けない)
MM 月を2桁の数字で表示(先頭に0を付ける)
d 日を2桁で表示(先頭に0を付けない)
dd 日を2桁で表示(先頭に0を付ける)
ddd 曜日を省略形で表示
dddd 曜日を正式名称で表示
注意:

 

以下に、編集時/表示時で和暦表記の種類を変更するサンプルコードを紹介します。

Visual Basic
コードのコピー

Private Sub Form1_Load(sender As Object, e As EventArgs)
    C1DateEdit1.EditFormat.CalendarType = C1.Win.C1Input.CalendarType.JapaneseCalendar
    C1DateEdit1.DisplayFormat.CalendarType = C1.Win.C1Input.CalendarType.JapaneseCalendar
    C1DateEdit1.EditFormat.FormatType = C1.Win.C1Input.FormatTypeEnum.CustomFormat
    C1DateEdit1.DisplayFormat.FormatType = C1.Win.C1Input.FormatTypeEnum.CustomFormat
    C1DateEdit1.EditFormat.CustomFormat = "ggyy年MM月dd日"
    C1DateEdit1.DisplayFormat.CustomFormat = "gyy年MM月dd日"

    C1DateEdit1.Value = DateTime.Today
End Sub

C#
コードのコピー

private void Form1_Load(object sender, EventArgs e)
{
    c1DateEdit1.EditFormat.CalendarType = C1.Win.C1Input.CalendarType.Default;
    c1DateEdit1.DisplayFormat.CalendarType = C1.Win.C1Input.CalendarType.Default;
    c1DateEdit1.EditFormat.FormatType = C1.Win.C1Input.FormatTypeEnum.CustomFormat;
    c1DateEdit1.DisplayFormat.FormatType = C1.Win.C1Input.FormatTypeEnum.CustomFormat;
    c1DateEdit1.EditFormat.CustomFormat = " ggyy年MM月dd日";
    c1DateEdit1.DisplayFormat.CustomFormat = " gyy年MM月dd日";

    c1DateEdit1.Value = DateTime.Today;
}

上記コードの実行結果

編集時/表示時に、今日の日付がそれぞれ「平成28年05月01日」/「平28年05月01日」のように表示されます。