首先,上代碼
1 var diffDate = function(date, diff) { 2 return new Date( 3 Date.UTC( 4 date.getUTCFullYear(), 5 date.getUTCMonth(), 6 date.getUTCDate(), 7 date.getUTCHours(), 8 date.getUTCMinutes(), 9 date.getUTCSeconds() 10 ) + 11 diff 12 ); 13 };
其次,上原理
1 將 Date() 對象轉換為UTC標准時間對應的總毫秒數
2 把這個毫秒數加上作差值的毫秒數(例如:減一天就是 -24*60*60*1000)
3 把結果毫秒數轉換為 Date()對象
4 返回結果
5 結束
后記:
這兩天做項目要用到減時間,減一天,考慮了不能直接減,還要考慮是一號還要減月,一月還要減年,閏年,閏月等等。於是放棄了自我研發,開始百度【捂臉】。結果這一搜代碼都很復雜。全拿字符串操作。
轉念一想,這么常用的操作js應該提供了方法呀! 於是開始看文檔 w3school ,上邊把Date() 看了一遍,並沒有。
但是,我發現,有個Date.UTC 。
啪!有主意了
花了一些時間,搞定了。
所以,沒事看看文檔還是有驚喜的呢!
大家拿去用,哈哈哈
