欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Javascript日期对象的dateAdd与dateDiff方法

程序员文章站 2023-10-29 13:05:28
复制代码 代码如下:date.prototype.dateadd = function(interval,number) { var d = this; var k={'y...
复制代码 代码如下:

date.prototype.dateadd = function(interval,number)
{
var d = this;
var k={'y':'fullyear', 'q':'month', 'm':'month', 'w':'date', 'd':'date', 'h':'hours', 'n':'minutes', 's':'seconds', 'ms':'milliseconds'};
var n={'q':3, 'w':7};
eval('d.set'+k[interval]+'(d.get'+k[interval]+'()+'+((n[interval]||1)*number)+')');
return d;
}
date.prototype.datediff = function(interval,objdate2)
{
var d=this, i={}, t=d.gettime(), t2=objdate2.gettime();
i['y']=objdate2.getfullyear()-d.getfullyear();
i['q']=i['y']*4+math.floor(objdate2.getmonth()/4)-math.floor(d.getmonth()/4);
i['m']=i['y']*12+objdate2.getmonth()-d.getmonth();
i['ms']=objdate2.gettime()-d.gettime();
i['w']=math.floor((t2+345600000)/(604800000))-math.floor((t+345600000)/(604800000));
i['d']=math.floor(t2/86400000)-math.floor(t/86400000);
i['h']=math.floor(t2/3600000)-math.floor(t/3600000);
i['n']=math.floor(t2/60000)-math.floor(t/60000);
i['s']=math.floor(t2/1000)-math.floor(t/1000);
return i[interval];
}

dateadd 方法
返回已添加指定时间间隔的日期对象。
dateobj.dateadd(interval, number)
参数
dateobj
必选项。任意 date 对象。
interval
必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。
number
必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。
datediff 方法
返回两个日期对象之间的时间间隔。
dateobj.datediff(interval, dateobj2)
参数
interval
必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
dateobj, dateobj2
必选项。日期对象。用于计算的两个日期对象。
设置
interval 参数可以有以下值:
设置 描述
y
q 季度
m
d
w
h 小时
n 分钟
s
ms 毫秒