Javascript日期对象的dateAdd与dateDiff方法

本文介绍了一种在JavaScript中自定义日期对象的方法,包括dateAdd和dateDiff两个实用函数。dateAdd函数可以根据不同的时间间隔(如年、月、日等)为当前日期添加特定的时间量;dateDiff函数则用于计算两个日期之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  1. Date.prototype.dateAdd = function(interval,number)
  2. {
  3.     var d = this;
  4.     var k={'y':'FullYear''q':'Month''m':'Month''w':'Date''d':'Date''h':'Hours''n':'Minutes''s':'Seconds''ms':'MilliSeconds'};
  5.     var n={'q':3, 'w':7};
  6.     eval('d.set'+k[interval]+'(d.get'+k[interval]+'()+'+((n[interval]||1)*number)+')');
  7.     return d;
  8. }
  9. Date.prototype.dateDiff = function(interval,objDate2)
  10. {
  11.     var d=this, i={}, t=d.getTime(), t2=objDate2.getTime();
  12.     i['y']=objDate2.getFullYear()-d.getFullYear();
  13.     i['q']=i['y']*4+Math.floor(objDate2.getMonth()/4)-Math.floor(d.getMonth()/4);
  14.     i['m']=i['y']*12+objDate2.getMonth()-d.getMonth();
  15.     i['ms']=objDate2.getTime()-d.getTime();
  16.     i['w']=Math.floor((t2+345600000)/(604800000))-Math.floor((t+345600000)/(604800000));
  17.     i['d']=Math.floor(t2/86400000)-Math.floor(t/86400000);
  18.     i['h']=Math.floor(t2/3600000)-Math.floor(t/3600000);
  19.     i['n']=Math.floor(t2/60000)-Math.floor(t/60000);
  20.     i['s']=Math.floor(t2/1000)-Math.floor(t/1000);
  21.     return i[interval];

dateAdd 方法

返回已添加指定时间间隔的日期对象。

dateObj.dateAdd(interval, number)

参数

dateObj

    必选项。任意 Date 对象。

interval

    必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。

number

    必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。

dateDiff 方法

返回两个日期对象之间的时间间隔。

dateObj.dateDiff(interval, dateObj2)

参数

interval

    必选项。字符串表达式,表示用于计算 date1date2 之间的时间间隔。有关数值,请参阅“设置”部分。

dateObj, dateObj2

    必选项。日期对象。用于计算的两个日期对象。

设置

interval 参数可以有以下值:

设置描述
y
q季度
m
d
w
h小时
n分钟
s
ms毫秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值