簡體   English   中英

使用getDate JavaScript計算月中的天數

[英]Calculate days in month with getDate JavaScript

我正在使用以下JS來計算今天日期之前的X天。 輸出似乎工作正常,但結果不考慮每個月的日期。 因此,如果今天是第26天並且我增加了9天,它將輸出當天作為第35天顯然沒有意義。

<script>
  window.onload=function(){
   var dateObj = new Date();

   var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];

   var month = months[dateObj.getMonth()]; //months from 1-12
   var day = dateObj.getUTCDate() +9;
   var year = dateObj.getUTCFullYear();

   newdate = day + " " + month + " " + year;
   document.getElementById("date").innerHTML=(newdate);
}
</script>

我們怎樣才能讓它輸出准確的日期?

您應該能夠使用Date.setDate函數執行此操作,而不是獲取日期,然后向其中添加9

window.onload = function() {
  var dateObj = new Date();
  // -------------- add this line -------//
  dateObj.setDate(dateObj.getDate() + 9);

  var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

  var month = months[dateObj.getMonth()]; //months from 1-12
  var day = dateObj.getUTCDate(); //+9; remove +9
  var year = dateObj.getUTCFullYear();

  newdate = day + " " + month + " " + year;
  document.getElementById("date").innerHTML = (newdate);

}

您應該使用setDate()使用getDate()更新日期,以獲取當月的當前日期並添加9。

 window.onload = function() { var dateObj = new Date(); // add 9 days here dateObj.setDate(dateObj.getDate() + 9); var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; var month = months[dateObj.getMonth()]; //months from 1-12 var day = dateObj.getUTCDate(); var year = dateObj.getUTCFullYear(); newdate = day + " " + month + " " + year; document.getElementById("date").innerHTML = (newdate); } 
 <span id="date"></span> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM