Access には、 式 で使用できる組み込み関数が用意されており、日時の書式設定、作成、解析、および計算を行います。 実行したい操作に合ったテーブルを選択します。
私は...
日付または時刻を特定の形式で表示する
日付を目的の形式で表示します。 [ 結果 ] 列は、[開始日] フィールドに 2012 年 1 月 11 日 17:30:15 の日付/時刻値が含まれているものとします。
| 関数 | 用途 | 使用例 | 結果 |
|---|---|---|---|
| 書式設定* | カスタムの日付/時刻形式を作成するために使用される汎用書式関数。 | Format([StartDate],"yyyy-mm-dd") | 2012-01-11 |
| FormatDateTime* | 5 つの組み込み日付/時刻形式のいずれかを値に適用します。 | FormatDateTime([StartDate],vbLongDate) | Wednesday, January 11, 2012 |
| MonthName* | 数値を月の名前に変換します。 1 から 12 の範囲外の数値を指定した場合はエラーを返します。 | MonthName(12) | 12 月 |
| WeekdayName* | 数値を曜日の名前に変換します。 1 から 7 の範囲外の数値を指定した場合はエラーを返します。 | WeekdayName(2) | Monday |
* Access Web アプリでは使用できません。
日付や時刻を分割する
年や分など、日付/時刻値の一部だけを知る必要がある場合もあります。 これらの関数はすべて、探している間隔に対応する整数値を返します。 [ 結果 ] 列は、[開始日] に 2012 年 1 月 11 日 17:30:15 の日付/時刻の値が含まれているものと想定しています。
| 関数 | 用途 | 使用例 | 結果 |
|---|---|---|---|
| Year | 日付/時刻型の値の年の部分を返します。 | Year([StartDate]) | 2012 |
| 月 | 日付/時刻値の月の部分 (1 から 12) を返します。 | Month([StartDate]) | 1 |
| Day | 日付/時刻値の日部分 (1 から 31) を返します。 | Day([StartDate]) | 11 |
| 平日* | 曜日の数値 (1 から 7) を返します。 既定では、日曜日が週の最初の曜日と見なされますが、別の曜日を初日として指定できます。 | weekday([StartDate]) | 4 |
| Hour* | 日付/時刻値の時間部分 (0 から 23) を返します。 | Hour([StartDate]) | 17 |
| 分* | 日付/時刻値の分単位の部分 (0 から 59) を返します。 | Minute([StartDate]) | 30 |
| Second* | 日付/時刻値の秒部分 (0 から 59) を返します。 | Second([StartDate]) | 15 |
| DatePart | 上記の関数の構成可能なバージョンで、日付/時刻値のどの部分が必要かを指定できます。 | DatePart("yyyy",[開始日]) | 2012 |
* Access アプリでは使用できません。
数字とテキストを日付と時刻に変換する
Access は日付を倍精度浮動小数点数として格納します。 たとえば、2012 年 1 月 11 日午後 5:30 は 40919.72917 として保存されます。 小数点の左側の整数部分は、日付を表します。 小数点の右側にある小数部は、時間を表します。 これらの関数を使用すると、整数や文字列などの他の値からこの浮動小数点数を作成できます。
| 関数 | 用途 | 使用例 | 結果 (Access での格納方法) |
|---|---|---|---|
|
DateSerial メモ: Access アプリで、 DateFromParts 関数または DateWithTimeFromParts 関数を使用します。 |
年、月、日に対して指定した整数から日付値をビルドします。 | DateSerial(2012,1,11) | 40919.0 |
| CDate* | テキストを日付/時刻の値に変換します。 数値の日付部分と時刻部分の両方を処理します。 ヒント: ブール値のIsDate 関数 を使用して、文字列を日付/時刻の値に変換できるかどうかを判断します。 たとえば、IsDate("1/11/2012") は True を返します。 |
CDate("1/11/2012 17:30") | 40919.72917 |
| DateValue* | テキストを日付/時刻の値に変換しますが、時刻部分は変換しません。 | DateValue("1/11/2012 17:30") | 40919.0 |
| TimeValue* | テキストを日付/時刻型の値に変換しますが、日付情報は変換しません。 | TimeValue("1/11/2012 17:30") | 0.72917 |
|
TimeSerial メモ: Access アプリで、 TimeFromParts 関数または DateWithTimeFromParts 関数を使用します。 |
指定した時刻 (時、分、秒) の整数から時刻値を計算します。 | TimeSerial(17,30,15) | 0.72934 |
* Access アプリでは使用できません。
日付を加算または減算する
これらの関数を使用すると、日付に間隔を加算または減算したり、2 つの日付/時刻値の差分を計算したりできます。
| 関数 | 用途 | 使用例 | 結果 |
|---|---|---|---|
| DateAdd | 日付/時刻の値に特定の間隔 (2 か月、3 時間など) を追加します。 減算するには、負の数を 2 番目の引数として使用します。 | DateAdd("m", 1, "1/11/2012") | 2/11/2012 |
| DateDiff | 2 つの日付/時刻値間の時間間隔 (日や分など) の数を指定します。 メモ: 例えば、#2012/2/15# - #2/1/2012# = 14 のように、別の日付値から引いてそれらの値間の日数を求めることもできます。 |
DateDiff("d","1/11/2012","4/15/2012") | 95 |
2 つの日付間の日数を計算する方法を参照してください。
今日の日付または現在の時刻を挿入する
これらの関数を使用して、現在の日付または時刻を決定します。 [ 結果] 列は、現在のシステムの日付/時刻が 2012 年 1 月 11 日 17:30:15 であると想定しています。
| 関数 | 用途 | 使用例 | 結果 |
|---|---|---|---|
| 今すぐ | システムの現在の日付と時刻を返します。 | Now() | 1/11/2012 5:30:15 PM |
|
日付 メモ: Access アプリで、 Today 関数を使用します。 |
システムの現在の日付を返します。 | Date() | 1/11/2012 |
| 時刻* | 現在のシステム時刻を返します。 | Time() | 午後 5 時 30 分 15 分 |
| Timer* | 午前 0 時から経過した秒数を返します。 | Timer() | 63015 |
* Access アプリでは使用できません。