我先写一个可直接拿来输出查看的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
<script>
var nowDay = new Date(); //获取当前时间
var toDay = nowDay.getTime(); //将当前时间转换成时间戳形式并赋值给toDay变量
// 然后封装一个函数getToday(),用来将时间格式转换成年/月/日
function getToday(date) {
return `${nowDay.getFullYear()}年${nowDay.getMonth()}月${nowDay.getDate()}日`
}
function prevDay() {
//计算一天的毫秒数
var oneDay = 1000 * 60 * 60 * 24;
//prevDay就是前一天
var prevDay = toDay - oneDay;
nowDay.setTime(prevDay);
console.log(getToday(prevDay));
}
// 调用prevDay()函数,输出当前时间的前一天
prevDay();
function nextDay() {
//计算一天的毫秒数
var oneDay = 1000 * 60 * 60 * 24;
//nextDay就是后一天
var nextDay = toDay + oneDay;
nowDay.setTime(nextDay);
console.log(getToday(nextDay));
}
// 调用nextDay()函数,输出当前时间的后一天
nextDay();
</script>
</html>
下面我进行一步步的讲解
首先获取当前时间,代码如下:
var nowDay = new Date(); //获取当前时间
由于时间不能直接进行计算,所以需要转成时间戳的形式,代码如下:
var toDay = nowDay.getTime(); //将当前时间转换成时间戳形式并赋值给toDay变量
为了方便查看,我们封装一段函数来将时间格式转换为年/月/日的形式,代码如下:
// 封装一个函数getToday(),用来将时间格式转换成年/月/日
function getToday(date) {
return `${nowDay.getFullYear()}年${nowDay.getMonth()}月${nowDay.getDate()}日`
}
然后前一天就是用当前时间减去一天的毫秒数,代码如下:
function prevDay() {
//计算一天的毫秒数
var oneDay = 1000 * 60 * 60 * 24;
//prevDay就是前一天,就是当前时间(toDay)减去一天时间(oneDay)
var prevDay = toDay - oneDay;
nowDay.setTime(prevDay);
console.log(getToday(prevDay));
}
// 调用prevDay()函数,输出查看当前时间的前一天
prevDay();
后一天就是用当前时间加上一天的毫秒数,代码如下:
function nextDay() {
//计算一天的毫秒数
var oneDay = 1000 * 60 * 60 * 24;
//nextDay就是前一天,就是当前时间(toDay)加上一天时间(oneDay)
var nextDay = toDay + oneDay;
nowDay.setTime(nextDay);
console.log(getToday(nextDay));
}
// 调用nextDay()函数,输出查看当前时间的后一天
nextDay();