DateAdd: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 67: | Line 67: | ||
dt.setDate(dt.getDate()+val); break; | dt.setDate(dt.getDate()+val); break; | ||
case 'ww': | case 'ww': | ||
dt.setDate(dt.getDate()+(val*7)); break; | dt.setDate(dt.getDate()+((val+1)*7)); | ||
break; | |||
case 'h': | case 'h': | ||
dt.setHours(dt.getHours()+val); break; | dt.setHours(dt.getHours()+val); break; | ||
| Line 75: | Line 76: | ||
dt.setSeconds(dt.getSeconds()+val); break; | dt.setSeconds(dt.getSeconds()+val); break; | ||
} | } | ||
return dt; | return dispDateTime(dt); | ||
} | } | ||
setLastDOM=function(dt,nm) { | 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; | |||
} | } | ||
Revision as of 17:13, 27 May 2013
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