CalendarGridでは次の3種類の日付書式を使用できます。
この3種類の書式にはそれぞれ得意不得意があり、相互補完できる関係にあります。CalendarGridはセル単位でそれぞれの書式を切り替えて使用できます。隣り合うセルに異なる日付書式を適用することでさまざまな日付の表現が可能になります。
.NET Framework日付書式は、MSDNの「日付と時刻の書式指定文字列」で解説されている日付書式と同様です。標準のDateTime書式文字列とカスタムのDateTime書式文字列を使用できます。標準の日付書式として多くの機能を持ち、国際化に対応しています。
InputMan日付書式は、別製品「InputMan for Windows Forms 11.0J(以下、InputMan)」で採用されている日付のための入力/表示書式と同等の機能を持ちます。この書式では、.NET Frameworkの日付書式に対して和暦の機能が強化されています。すでにプロジェクトにInputManで使用している書式がある場合、互換性があるためその書式をCalendarGridに使用できます。
CalendarGrid日付書式は、現在の日時をもとに六曜や漢字の月名、休日名を表示できます。
それぞれの日付書式でCalendarGrid上で表現可能な結果を次の表にまとめます。
日付の表現 | 表示例 | .NET Framework日付書式 | InputMan日付書式 | CalendarGrid日付書式 |
---|---|---|---|---|
西暦 |
2013年 |
○ |
○ |
− |
和暦 |
平成25年 |
− |
○ |
− |
和暦+西暦 |
平成25年(2013年) |
− |
○ |
− |
元年表示 |
平成元年 |
− |
○ |
− |
短縮表示 |
平25 |
− |
○ |
− |
記号表示 |
H25年 |
− |
○ |
− |
新元号対応 |
新年号3年 |
− |
○ |
− |
六曜 |
大安 |
− |
− |
○ |
国民の祝日 |
建国記念日 |
− |
− |
○ |
漢字表示 |
十月 |
− |
− |
○ |
ロケール |
January |
○ |
− |
− |
CalendarGridでは隣り合うセルにそれぞれの書式を設定することで、上記の表現を組み合わせて表示できます。(単一のセルやヘッダで複数の書式を同時に使うことはできません)
MSDNの「日付と時刻の書式指定文字列」を参照してください。一般的な書式の例とその結果を次に示します。
書式の例 | 結果 |
---|---|
yyyy年MM月dd日 |
2014年01月01日 |
yyyy年M月d日 |
2014年1月1日 |
gggyy年M月d日 |
西暦14年1月1日 |
d |
2014/01/01 |
%d |
1 |
キーワード | 説明 |
---|---|
A |
紀元後を表す"A.D.(Anno Domini)"を表示 |
g |
年号の頭文字をアルファベットで表示(M、T、S、H) |
gg |
年号の頭文字を漢字で表示(明、大、昭、平) |
ggg |
年号の正式名称を漢字で表示(明治、大正、昭和、平成) |
e |
和暦年を2桁で表示(先頭に0を付けない) |
ee |
和暦年を2桁で表示(先頭に0を付ける) |
E |
和暦年を2桁で表示し開始年を元と表示(先頭に0を付けない) |
EE |
和暦年を2桁で表示し開始年を元と表示(先頭に0を付ける) |
y |
年を2桁で表示(先頭に0を付けない) |
yy |
年を2桁で表示(先頭に0を付ける) |
yyy |
年を4桁で表示(先頭に0を付けない) |
yyyy |
年を4桁で表示(先頭に0を付ける) |
M |
月を2桁の数字で表示(先頭に0を付けない) |
MM |
月を2桁の数字で表示(先頭に0を付ける) |
MMM |
月を省略形で表示 |
MMMM |
月を正式名称で表示 |
d |
日を表示(先頭に0を付けない) |
dd |
日を表示(先頭に0を付ける) |
ddd |
曜日を省略形で表示 |
dddd |
曜日を正式名称で表示 |
t |
12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列の最初の1文字を表示 |
tt |
12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列を表示 |
h |
時を12時間制で表示(先頭に0を付けない) |
hh |
時を12時間制で表示(先頭に0を付ける) |
H |
時を24時間制で表示(先頭に0を付けない) |
HH |
時を24時間制で表示(先頭に0を付ける) |
m |
分を表示(先頭に0を付けない) |
mm | 分を表示(先頭に0を付ける) |
s | 秒を表示(先頭に0を付けない) |
ss | 秒を表示(先頭に0を付ける) |
\(Chr(92)) | キーワードをリテラル文字として表示 |
年号のカスタマイズ方法は「暦のカスタマイズ」の「和暦」で説明します。
キーワード | 説明(例) |
---|---|
{Day} |
日を表示します。(1日) |
{Month} |
月を表示します。(1月) |
{YearMonth} |
年月を表示します。(2014年1月) |
{MonthDay} |
月日を表示します。(1月1日) |
{LongDate} |
長い形式の年月日を表示します。(2014年1月1日) |
{ShortDate} |
短い形式の年月日を表示します。(2014/01/01) |
{WeekNumber} |
週番号を表示します。週番号の計算方法はGcCalendarGrid.DateFormatInfo.CalendarWeekRuleプロパティで設定します。 |
{DayOfWeek} |
曜日を表示します。値はGcCalendarGrid.DateFormatInfo.DayOfWeekNamesプロパティで定義されます。(日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日) |
{AbbreviatedDayOfWeek} |
省略された曜日名を表示します。日本語カルチャでは{ShortestDayOfWeek}と同じです。(日、月、火、水、木、金、土) |
{ShortestDayOfWeek} |
短い曜日名を表示します。(日、月、火、水、木、金、土) |
{Rokuyou} |
六曜を表示します。値はGcCalendarGrid.DateFormatInfo.RokuyouNamesプロパティで定義されます。(先勝、友引、先負、仏滅、大安、赤口) |
{HolidayName} |
GcCalendarGrid.Holidaysに登録された祝日または休日の名前を表示します。 |