DateAdd
DateAdd(interval,number,date)
Description
DateAdd returns the date which is obtained by adding a specified number of date intervals to a given date. The required parameter, interval, is a string expression that specifies the type of date interval to add: see table below. The required parameter, number, is any numeric expression that specifies the number of intervals to add.The required parameter, date, can be any expression that represents a date.
Interval Values
| Value | Description |
|---|---|
| yyyy | Year |
| q | Quarter |
| m | Month |
| y | Day of year |
| d | Day |
| w | Weekday |
| ww | Week of year |
| h | Hour |
| n | Minute |
| s | Second |
Example (Basic)
Rem DateAdd Example
'DateAdd adds date intervals to a date
Print "+10 seconds:", DateAdd("s", 10, NOW)
Print "-1 year:", DateAdd("yyyy", -1, NOW)
Example (JavaScript)
// DateAdd Example
/* DateAdd adds date intervals to a date */
Date.prototype.DateAdd = function(typ,val) {
dt=this;
if (!typ || val==0) return dt;
switch (typ.toLowerCase()) {
case 'yyyy':
dt.setFullYear(dt.getFullYear()+val); break;
case 'q':
var nm = dt.getMonth()+(val*3);
dt.setMonth(dt.getMonth()+(val*3));
setLastDOM(dt,nm);
break;
case 'm':
var nm = dt.getMonth()+val;
dt.setMonth(dt.getMonth()+val);
setLastDOM(dt,nm);
break;
case 'y':
case 'd':
case 'w':
dt.setDate(dt.getDate()+val); break;
case 'ww':
dt.setDate(dt.getDate()+(val*7)); break;
case 'h':
dt.setHours(dt.getHours()+val); break;
case 'n':
dt.setMinutes(dt.getMinutes()+val); break;
case 's':
dt.setSeconds(dt.getSeconds()+val); break;
}
return dt;
}
setLastDOM=function(dt,nm) {
while (dt.getMonth() != nm) {
dt.setDate(dt.getDate()-1);
}
}
var dt = new Date();
NSB.Print('+10 seconds: ' + dt.DateAdd('s', 10));
NSB.Print('-1 year:' + dt.DateAdd('yyyy', -1));
Output
+10 seconds: 8/18/98 10:52:54 PM -1 year: 8/18/97 10:52:44 PM