DateAdd【デイトアド】関数
時間を加算または減算した日付や時刻を取得するには、DateAdd【デイトアド】関数を使用します。引数Date【デイト】に指定された日付や時刻データに、引数Interval【インターバル】に指定された計算単位で引数Number【ナンバー】に指定された整数値を加算または減算して、バリアント型(内部処理形式StringのVariant)の値を返します。
DateAdd【デイトアド】関数の書式と引数の説明
DateAdd(Interval,Number,Date)
【戻り値】バリアント型(内部処理形式のDateのVariant)
- InterVal 【インターバル】(必須)
日付や時刻の間隔を計算する単位を下記の文字列で指定します。記述するときは「ダブルクオティーション(“)」で囲みます。
設定値 | 説明 |
---|---|
yyyy | 年 |
q | 四半期 |
m | 月 |
y | 年間通算日 |
d | 日 |
w | 週日 |
ww | 週 |
h | 時 |
n | 分 |
s | 秒 |
- Number【ナンバー】(必須)
日付や時刻に加算または減算する整数値を指定します。小数点を含む数値を指定した場合は、少数部分は無視されます。
※正の値を指定して加算した場合は、将来日付と時刻データを返し
※負の値を指定して減算した場合は、過去の日付と時刻データを返します。 - Date【デイト】(必須)
時間を加算または減算する日付や時刻をバリアント型(内部処理形式DateのVariant)の値や、日付リテラルをで指定します。。
【設定値の「内部処理形式のDateのVariant」の指定方法】
日付の場合は、DateSerial関数で指定
時刻の場合は、TimeSerial関数で指定
すれば、「内部処理形式のDateのVariant」の日付、時刻データが返ります。
日付リテラルとは
日付型データとして確実に認識させるには日付を(月/日/年)の順番で記述して「#(シャープ記号)」で囲みます。(例:#5/1/2017#)これを日付リテラルといいます。
現在から4週間後の日付を取得するコード例
Sub 日加算() MsgBox "今から4週間後は" & DateAdd("ww", 4, Date) End Sub
実行結果
現在から4時間後の時刻を取得するコード例
Sub 時間加算() MsgBox "今から4時間後は" & DateAdd("h", 4, Time) End Sub
実行結果
※過去の日付を取得する場合は、引数Number【ナンバー】に負の値を指定します。
※計算結果の値が西暦100年1月1日から9999年12月31日の有効範囲を超えた場合はエラーが発生します。
以上で、DateAdd【デイトアド】関数についての解説を終了します。
ありがとうございました。
日付・時刻関数一覧表
日付や時刻の関数一覧表です。関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名 | 説明 |
---|---|
Date | 現在の「日付」を取得します。 |
Year | 日付から「年」を取得します。 |
Month | 日付から「月」を取得します。 |
Day | 日付から「日」を取得します。 |
DatePart | 年・月・日を部分的に取得します。 |
Now | 現在の「日時」を取得します。 |
Time | 現在の「時刻」を取得します。 |
Hour | 時刻の「時」を取得します。 |
Minute | 時刻の「分」を取得します。 |
Second | 時刻の「秒」を取得します。 |
Weekday | 曜日を表す「整数値」を取得します。 |
WeekdayName | 曜日を表す整数値を「曜日名」に変換します。 |
DateSerial | 年・月・日を表す整数値から日付データに変換します。 |
TimeSerial | 時・分・秒を表す整数値から時刻データに変換します。 |
DateDiff | 日付や時間の間隔を計算します。 |
DateAdd | 時間を加算または減算した日付や時刻を取得します。 |
Timer | 経過した秒数を取得します。 |
CDate | データ型を日付型に変換します。 |
IsDate | 日付や時刻として扱えるかを調べます。 |
DateValue | 日付を表す文字列式を日付型(Date)に変換します。 |
TimeValue | 時刻を表す文字列式を日付型(Date)に変換します。 |