日付時刻コントロールの特長的な機能である日付書式の設定と活用について解説します。
日付時刻コントロールの入力書式は、Formatプロパティが参照するDateFormatオブジェクトを使って設定します。このオブジェクトのPatternプロパティにキーワードとリテラル文字列を設定することで、入力書式を作成します。Patternプロパティでは、以下のキーワードが使えます。
キーワード | 説明 |
---|---|
g | 年号の頭文字をアルファベットで表示(M、T、S、H) |
gg | 年号の頭文字を漢字で表示(明、大、昭、平) |
ggg | 年号の正式名称を漢字で表示(明治、大正、昭和、平成) |
e | 和暦年を2桁で表示(先頭に0を付けない) |
ee | 和暦年を2桁で表示(先頭に0を付ける) |
yy | 年を2桁で表示(先頭に0を付ける) |
yyyy | 年を4桁で表示(先頭に0を付ける) |
MM | 月を2桁の数字で表示(先頭に0を付ける) |
MMM | 月を省略形で表示 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) |
MMMM | 月を正式名称で表示 (DateTimeFormatInfo.MonthNames()で指定された形式) |
dd | 日を2桁で表示(先頭に0を付ける) |
\(Chr(92)) | キーワードをリテラル文字として表示 |
元号 | 明治 | 大正 | 昭和 | 平成 |
---|---|---|---|---|
数値入力 | 1 | 2 | 3 | 4 |
文字入力 | m | t | s | h |
キーワード"e"または"ee"を使用する場合は、元号を表すキーワード"g"、"gg"、または"ggg"を必ず併用してください。元号の設定を省くと、日付時刻コントロールは年を特定できず、正常に動作できなくなります。 |
キーワード | 説明 |
---|---|
t | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列の最初の1文字を表示 |
tt | 12時間制で時刻を表示するときに午前(AMDesignatorプロパティで設定)または午後(PMDesignatorプロパティで設定)を表す文字列を表示 |
hh | 時を12時間制で表示(先頭に0を付ける) |
HH | 時を24時間制で表示(先頭に0を付ける) |
mm | 分を表示(先頭に0を付ける) |
ss | 秒を表示(先頭に0を付ける) |
\(Chr(92)) | キーワードをリテラル文字として表示 |
区分 | 午前 | 午後 |
---|---|---|
数値入力 | 1 | 2 |
文字入力 | a | p |
自由書式入力で日付に変換可能な値は、JavaScriptにおけるDateオブジェクトのparse メソッドが日付と認識する文字列に限られます。 |
日付時刻コントロールの表示書式は、DisplayFormatプロパティが参照するDateDisplayFormatオブジェクトを使って設定します。このオブジェクトのPatternプロパティに以下のキーワードまたは書式指定子とリテラル文字列を設定することで、表示書式を作成します。キーワードはカスタム書式を設定するときに使用し、書式指定子は既定の書式を呼び出すときに使用します。
プロパティを空の文字列(""またはString.Empty)に設定すると、DateFormat.Patternプロパティに設定された入力書式が適用されます。
キーワード | 説明 |
---|---|
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 | 月を省略形で表示 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) |
MMMM | 月を正式名称で表示 (DateTimeFormatInfo.MonthNames()で指定された形式) |
d | 日を表示(先頭に0を付けない) |
dd | 日を表示(先頭に0を付ける) |
ddd | 曜日を省略形で表示(DateTimeFormatInfo.AbbreviatedDayNames()で指定された形式) |
dddd | 曜日を正式名称で表示(DateTimeFormatInfo.DayNames()で指定された形式) |
\(Chr(92)) | キーワードをリテラル文字として表示 |
キーワード | 説明 |
---|---|
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)) | キーワードをリテラル文字として表示 |
書式指定子 | 説明 |
---|---|
d | 短い形式の日付 (例:2015/3/01) |
D | 長い形式の日付 (例:2015年3月1日) |
t | 短い形式の時刻 (例:10:30) |
T | 長い形式の時刻 (例:10:30:00) |
f | 長い形式の日付と短い形式の時刻 (例:2015年3月1日 10:30) |
F | 長い形式の日付と長い形式の時刻 (例:2015年3月1日10:30:00) |
g | 短い形式の日付と短い形式の時刻 (例:2015/3/01 10:30) |
G | 短い形式の日付と長い形式の時刻 (例:2015/3/01 10:30:00) |
Mまたはm | 月日の表示 (例:3月1日) |
Rまたはr | RFC1123の形式 (例:Fri, 01 Mar 2015 10:30:00 GMT) |
S | ISO 8601準拠の形式 (例:2015-03-01T10:30:00) |
u | ユニバーサル形式 (例:2015-03-01 10:30:00Z) |
U | 世界協定時刻 (例:2015年3月1日1:30:00) |
Yまたはy | 年月の表示 (例:2015年3月) |
' 日付時刻の入力書式を設定します。 GcDateTime1.Format.Pattern = "ggg ee年 MM月 dd日 tt hh時 mm分" ' 日付時刻の表示書式を設定します。 GcDateTime1.DisplayFormat.Pattern = "ggg ee年 M月 d日 tt h時 mm分" ' 午前、午後の表示文字を設定します。 GcDateTime1.AMDesignator = "午前" GcDateTime1.PMDesignator = "午後"
// 日付時刻の入力書式を設定します。 GcDateTime1.Format.Pattern = "ggg ee年 MM月 dd日 tt hh時 mm分"; // 日付時刻の表示書式を設定します。 GcDateTime1.DisplayFormat.Pattern = "ggg ee年 M月 d日 tt h時 mm分"; // 午前、午後の表示文字を設定します。 GcDateTime1.AMDesignator = "午前"; GcDateTime1.PMDesignator = "午後";
Imports GrapeCity.Web.Input.IMDate ' 日付時刻の入力書式を設定します。 GcDateTime1.Format = New DateFormat("ggg ee年 MM月 dd日 tt hh時 mm分") ' 日付時刻の表示書式を設定します。 GcDateTime1.DisplayFormat = New DateDisplayFormat("ggg ee年 M月 d日 tt h時 mm分",) ' 午前、午後の表示文字を設定します。 GcDateTime1.AMDesignator = "午前" GcDateTime1.PMDesignator = "午後"
using GrapeCity.Web.Input.IMDate; // 日付時刻の入力書式を設定します。 GcDateTime1.Format = new DateFormat("ggg ee年 MM月 dd日 tt hh時 mm分"); // 日付時刻の表示書式を設定します。 GcDateTime1.DisplayFormat = new DateDisplayFormat("ggg ee年 M月 d日 tt h時 mm分"); // 午前、午後の表示文字を設定します。 GcDateTime1.AMDesignator = "午前"; GcDateTime1.PMDesignator = "午後";