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 の年より多くの年を引いた場合)、エラーが発生します。
number が Long 値ではない場合、最も近い整数に丸めてから評価されます。
注:
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 のサポートおよびフィードバックを参照してください。