DateAdd 関数DateAdd function

指定した時間間隔を日付に加算してその日付を含む Variant (Date) を返します。Returns a Variant (Date) containing a date to which a specified time interval has been added.


DateAdd(interval, number, date)DateAdd(interval, number, date)

DateAdd 関数の構文に構文に使用される名前付き引数は次のとおりです。The DateAdd function syntax has these named arguments:

指定項目Part 説明Description
intervalinterval 必須。Required. 加算する時間間隔を表す文字列式String expression that is the interval of time you want to add.
numbernumber 必須。Required. 追加するサイクル間隔の数値を表す数値式です。Numeric expression that is the number of intervals you want to add. 将来の日時を取得するには正の値を、過去の日時を取得するには負の値を指定します。It can be positive (to get dates in the future) or negative (to get dates in the past).
datedate 必須。Required. 時間間隔を加算する日付を表す Variant (Date)、またはリテラル。Variant (Date) or literal representing the date to which the interval is added.


interval 引数の設定は次のとおりです。The interval argument has these settings:

設定Setting 説明Description
yyyyyyyy Year
qq 四半期Quarter
mm Month
yy 通年での日数Day of year
dd Day
ww 平日Weekday
wwww Week
hh Hour
nn Minute
ss Second


DateAdd 関数を使用すると、指定した時間間隔を日付に加算したり、日付から減算したりできます。You can use the DateAdd function to add or subtract a specified time interval from a date. たとえば、DateAdd を使用して、今日から 30 日後の日付、または今から 45 分後の時刻を計算することができます。For example, you can use DateAdd to calculate a date 30 days from today or a time 45 minutes from now.

date に日数を加算する場合、年間通算日 ("y")、日 ("d")、または平日 ("w") を使用できます。To add days to date, you can use Day of Year ("y"), Day ("d"), or Weekday ("w").


ある日付に日数を足す目的で、(日曜日から土曜日まですべての曜日を含む) "w" サイクル間隔を使用するとき、DateAdd 関数は、その日までの、指定した合計日数を追加します。その日までの、(月曜日から金曜日までの) 仕事日の数のみを追加するのではないことに注意してください。When you use the "w" interval (which includes all the days of the week, Sunday through Saturday) to add days to a date, the DateAdd function adds the total number of days that you specified to the date, instead of adding just the number of workdays (Monday through Friday) to the date, as you might expect.

DateAdd 関数が無効な日付を返すことはありません。The DateAdd function won't return an invalid date. 次の例では、1 月 31 日に 1 か月を追加します。The following example adds one month to January 31:

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

この場合、DateAdd は、1995 年 2 月 31 日ではなく、1995 年 2 月 28 日を返します。In this case, DateAdd returns 28-Feb-95, not 31-Feb-95. date が 1996 年 1 月 31 日の場合は、1996 年は閏年であるため、1996 年 2 月 29 日を返します。If date is 31-Jan-96, it returns 29-Feb-96 because 1996 is a leap year.

計算された日付が西暦 100 年よりも前になる場合 (つまり、date の年より多くの年を引いた場合)、エラーが発生します。If the calculated date would precede the year 100 (that is, you subtract more years than are in date), an error occurs.

numberLong 値ではない場合、最も近い整数に丸めてから評価されます。If number isn't a Long value, it is rounded to the nearest whole number before being evaluated.


DateAdd の戻り値の形式は、date 引数で渡された形式ではなく、コントロール パネルでの設定によって決まります。The format of the return value for DateAdd is determined by Control Panel settings, not by the format that is passed in the date argument.


Calendar プロパティの設定がグレゴリオ暦の場合、date にはグレゴリオ暦の日付を指定する必要があります。For date, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. カレンダーがイスラム暦である場合、指定する日付もイスラム暦である必要があります。If the calendar is Hijri, the supplied date must be Hijri. 月の値が名前である場合、名前は現在の Calendar プロパティの設定と一致している必要があります。If month values are names, the name must be consistent with the current Calendar property setting. 月名が現在の Calendar プロパティ設定と競合する可能性を最小にするには、数字で示す月の値 (短い日付形式) を入力します。To minimize the possibility of month names conflicting with the current Calendar property setting, enter numeric month values (Short Date format).


次の例では、日付を受け取り、DateAdd 関数を使用して、指定された月数を加算した将来の日付を表示します。This example takes a date and, using the DateAdd function, displays a corresponding date a specified number of months in the future.

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

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.