Javascript日期對象的dateAdd與dateDiff方法

來源:互聯網
上載者:User

複製代碼 代碼如下: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 毫秒
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.