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+1)*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 dispDateTime(dt);
}
setLastDOM=function(dt,nm) {
while (nm>11) {nm-=12;}
while (nm<0) {nm+=12;}
while (dt.getMonth() != nm) {
dt.setDate(dt.getDate()-1);
}
}
dispDateTime=function(dtm) {
var tm = dtm.toString();
var ampm = (tm.toUpperCase().indexOf('AM') > -1) ? ' AM' : ' PM';
hr = dtm.getHours();
if (hr < 12) {
ampm = ' AM';
} else if (hr > 12) {
ampm = ' PM';
hr -= 12;
if (hr==12) ampm = ' AM'; //midnight
}
mn = '0'+dtm.getMinutes();
mn0 = mn.substr(mn.length-2,2);
ss = '0'+dtm.getSeconds();
ss0 = ss.substr(ss.length-2,2);
tm = hr+':'+mn0+':'+ss0+ampm;
return dt.getMonth()+1+'/'+dt.getDate()+'/'+dt.getFullYear()+' '+tm;
}
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