JavaScript 如何计算三个月前的日期
要使用JavaScript计算三个月前的日期,我们首先需要创建一个新的日期对象,它将代表当前日期。然后我们将使用setMonth()方法从当前月份中减去3。最后,我们将使用toString方法把这个新的日期对象转换为字符串,以显示三个月前的日期。
基本上,我们将编写一个动态的JavaScript函数,它可以接受一个数字作为输入,并返回从今天的日期算起的前几个月的日期。
比如说
calculatePriorDate(4);
假设今天的日期是19/01/2023,格式为DD/MM/YYYY,该函数应该返回19/09/2022。
方法
- 这是一个简单的功能,可以使用本地的JS Date对象来实现。
-
我们将使用JS Date getMonth 和 setMonth 方法来分别获取和设置新的月份。
-
负责做这些工作的函数看起来像
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>