1.语法
DATEADD(datepart,number,date)
2.datepart
参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
3.Interval 参数
可以有以下设置之一。
枚举值 | 字符串 | 待添加时间间隔的单位 |
---|---|---|
DateInterval.Day | d | 天;截断为整数值 |
DateInterval.DayOfYear | y | 天;截断为整数值 |
DateInterval.Hour | h | 小时;截断为整数值 |
DateInterval.Minute | n | 分钟;截断为整数值 |
DateInterval.Month | m | 月份;截断为整数值 |
DateInterval.Quarter | q | 季度;截断为整数值 |
DateInterval.Second | s | 秒;截断为整数值 |
DateInterval.Weekday | w | 天;截断为整数值 |
DateInterval.WeekOfYear | ww | 周;截断为整数值 |
DateInterval.Year | yyyy | 年;截断为整数值 |
4.实例
假设我们有下面这个 "Orders" 表:
OrderId | ProductName | OrderDate |
---|---|---|
1 | 'Computer' | 2008-12-29 16:25:46.635 |
现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。
我们使用如下 SELECT 语句:
SELECT OrderId,DATEADD(day,2,OrderDate)
AS OrderPayDate
FROM Orders
结果:
OrderId | OrderPayDate |
---|---|
1 | 2008-12-31 16:25:46.635 |
5.DateAdd
下面是我在JS中遇到的一个例子。
param['f_day']=formatDate(param['f_date'],'yyyyMMdd');
param['t_day']=formatDate(param['t_date'],'yyyyMMdd');
//以下代码为固定日期,将日期固定在当前日期前一天
var a = now()
var b = formatDate(a,"yyyy-MM-dd")
var c = dateAdd(a,"dayofyear",-1)
var d = formatDate(c,"yyyy-MM-dd")
if(formatDate(a,"dd")=='01')
{
t_date.setSelectedObjects([b],STRING)
}
else if (formatDate(a,"dd")!='01')
{
t_date.setSelectedObjects([d],STRING)
}
这样就在JS中将日期固定在但当前日期前一天!