JavaScript 加上指定天數之後的日期

admin發表於2019-12-10

本章節分享一段程式碼例項,它實現了獲取當前日期加上指定天數之後的日期。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function getNewDay(dateTemp, days) {
  var dateTemp = dateTemp.split("-");
  //轉換為MM-DD-YYYY格式    
  var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); 
  var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000);
  var rDate = new Date(millSeconds);
  var year = rDate.getFullYear();
  var month = rDate.getMonth() + 1;
  if (month < 10) month = "0" + month;
  var date = rDate.getDate();
  if (date < 10) date = "0" + date;
  return (year + "-" + month + "-" + date);
}
console.log(getNewDay("2016-2-28",6))

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).function getNewDay(dateTemp, days) {},第一個引數是日期,第二個引數是要新增的天數。

(2).var dateTemp = dateTemp.split("-"),將傳過來的日期用-進行分割,生成一個陣列。

(3).var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]),生成一個時間物件,建構函式的引數是將日期轉換成MM-DD-YYYY格式,以實現相容性。

(4).var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000),轉換為時間戳,Math.abs()函式引數如果是時間物件,可以將其轉換為時間戳。

(5).var rDate = new Date(millSeconds),通過時間戳,轉換時間物件。

(6).var year = rDate.getFullYear(),獲取年份。

(7).var month = rDate.getMonth() + 1,獲取月份,之所以加1,因為getMonth()函式獲取的月份比我們們普通意義上的月份值少1。

(8).if (month < 10) month = "0" + month,如果月份是單數,那麼在前面加0。

(9).var date = rDate.getDate(),獲取天。

(10).if (date < 10) date = "0" + date,如果天是個位數,那麼前面新增0.

(11).return (year + "-" + month + "-" + date),返回日期。

二.相關閱讀:

(1).split()可以參閱JavaScript split()一章節。

(2).Date()建構函式引數JavaScript Date()建構函式一章節。

(3).Math.abs()可以參閱JavaScript Math.abs()一章節。

(4).getFullYear()可以參閱JavaScript getFullYear()一章節。

(5).getMonth()可以參閱JavaScript getMonth()一章節。

(6).getDate()可以參閱JavaScript getDate()一章節。

相關文章