js写的dateAdd()、dateDiff()函数
成功志
js写的dateAdd()、dateDiff()函数
2013-7-3 ok12


1、dateAdd()



/* 得到日期年月日等加数字后的日期 */

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;

}



 



dateAdd 方法说明:



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



        dateObj.dateAdd(interval, number)



    参数



        dateObj    必选项。任意 Date 对象。



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



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



 



2、dateDiff()





/* 计算两日期的差*/

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];

}



 



dateDiff 方法说明:



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



        dateObj.dateDiff(interval, dateObj2)



    参数



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



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



    设置



interval 参数可以有以下值:



设置 描述

y    年

q    季度

m    月

d     日

w    周

h    小时

n    分钟

s    秒

ms 毫秒



 

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容