JS日期時間加減實現


首先,上代碼

 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 。

  啪!有主意了

  花了一些時間,搞定了。

  所以,沒事看看文檔還是有驚喜的呢!

  大家拿去用,哈哈哈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM