如何使用 JavaScript 計算三個月前的日期?


要使用 JavaScript 計算三個月前的日期,我們首先需要建立一個新的日期物件,它將表示當前日期。然後,我們將使用 setMonth() 方法從當前月份減去 3。最後,我們將使用 toString 方法將此新的日期物件轉換回字串,以顯示三個月前的日期。

基本上,我們將編寫一個動態的 JavaScript 函式,它可以接收一個數字作為輸入,並返回從今天的日期算起之前該數字月份的日期。

例如 -

calculatePriorDate(4);

假設今天的日期是 2023 年 1 月 19 日(格式為 DD/MM/YYYY),則此函式應返回 2022 年 9 月 19 日。

方法

  • 這是一個簡單的功能,可以使用原生的 JS Date 物件實現。

  • 我們將使用 JS Date 的 getMonthsetMonth 方法分別獲取和設定新的月份。

  • 負責執行此操作的函式將如下所示 -

const calculatePriorDate = (priorMonths = 1) => {
  	const date = new Date();
 	 
  	// accessing current month of the date
  	const currentMonth = date.getMonth();
 	 
  	// subtracting required number of months
  	date.setMonth(currentMonth - priorMonths);
 	 
  	return date.toLocaleDateString();
};

此函式將簡單地接收月份間隔,並在減去所需的月份數後返回先前的日期字串。

示例

此功能的完整工作程式碼將是 -

<!DOCTYPE html>
<html>
<head>
   <title>Prior Date</title>
   <style>
      #space {
         color: black;
      }
   </style>
</head>
   <body>
      <input placeholder = 'Input Gap...' id = 'gap' />
      <button onclick = 'renderGap()'>Calculate</button>
      <p id = 'space'></p>
      <script>       
         const calculatePriorDate = (priorMonths = 1) => {
            const date = new Date();
         
            // accessing current month of the date
            const currentMonth = date.getMonth();
         
            // subtracting required number of months
            date.setMonth(currentMonth - priorMonths); 	 
            return date.toLocaleDateString();
         };    
         const renderGap = () => {
            const space = document.getElementById('space');
            const gapInput = document.getElementById('gap'); 	 
            const gap = parseInt(gapInput.value) || 1;
            const newDate = calculatePriorDate(gap);	 
            space.innerText = newDate;	 
         }
      </script>
   </body>
</html>

更新於: 2023 年 2 月 16 日

2K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告