DateAdd 関数

指定した時間間隔を日付に加算してその日付を含む Variant (Date) を返します。

構文

DateAdd(interval, number, date)

DateAdd 関数の構文に構文に使用される 名前付き引数は次のとおりです。

指定項目 説明
interval 必須。 加算する時間間隔を表す文字列式
number 必須。 追加するサイクル間隔の数値を表す数値式です。 将来の日時を取得するには正の値を、過去の日時を取得するには負の値を指定します。
date 必須。 時間間隔を加算する日付を表す Variant (Date)、またはリテラル。

設定

interval 引数の設定は次のとおりです。

設定 説明
yyyy
q 四半期
m
y 通年での日数
d
w 平日
ww
h
n
s

解説

DateAdd 関数を使用すると、指定した時間間隔を日付に加算したり、日付から減算したりできます。 たとえば、DateAdd を使用して、今日から 30 日後の日付、または今から 45 分後の時刻を計算することができます。

date に日数を加算する場合、年間通算日 ("y")、日 ("d")、または平日 ("w") を使用できます。

注意

ある日付に日数を足す目的で、(日曜日から土曜日まですべての曜日を含む) "w" サイクル間隔を使用するとき、DateAdd 関数は、その日までの、指定した合計日数を追加します。その日までの、(月曜日から金曜日までの) 仕事日の数のみを追加するのではないことに注意してください。

DateAdd 関数が無効な日付を返すことはありません。 次の例では、1 月 31 日に 1 か月を追加します。

DateAdd("m", 1, "31-Jan-95")

この場合、DateAdd は、1995 年 2 月 31 日ではなく、1995 年 2 月 28 日を返します。 date が 1996 年 1 月 31 日の場合は、1996 年は閏年であるため、1996 年 2 月 29 日を返します。

計算された日付が西暦 100 年よりも前になる場合 (つまり、date の年より多くの年を引いた場合)、エラーが発生します。

numberLong 値ではない場合、最も近い整数に丸めてから評価されます。

注意

DateAdd の戻り値の形式は、date 引数で渡された形式ではなく、コントロール パネル での設定によって決まります。

注意

Calendar プロパティの設定がグレゴリオ暦の場合、date にはグレゴリオ暦の日付を指定する必要があります。 カレンダーがイスラム暦である場合、指定する日付もイスラム暦である必要があります。 月の値が名前である場合、名前は現在の Calendar プロパティの設定と一致している必要があります。 月名が現在の Calendar プロパティ設定と競合する可能性を最小にするには、数字で示す月の値 (短い日付形式) を入力します。

次の例では、日付を受け取り、DateAdd 関数を使用して、指定された月数を加算した将来の日付を表示します。

Dim FirstDate As Date    ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg As String
IntervalType = "m"    ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。