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