计算某一时刻n分钟前后的时间
let newTime = new Date('2020-11-11 15:20:56');
let fiveMinBefore = newTime.getTime() - 5 * 60 * 1000; // 5分钟 getTime()方法获取到毫秒数
let fiveMinAfter = newTime.getTime() + 5 * 60 * 1000;
let startTime = getTimesFun({
setTimes: fiveMinBefore,
type:'yy-mm-dd hh:mm:ss'
})
let endTime = getTimesFun({
setTimes: fiveMinAfter,
type:'yy-mm-dd hh:mm:ss'
})
console.log(startTime,endTime);
在实际vue开发项目中,写在一个js文件内export出去
在需要使用的文件内再import {getTime} from “xxx.xxx”
使用ES6语法,可以去看看阮一峰ES6教程写的很好,可以学习
//把标准时间变成yy-mm-dd hh:mm:ss的时间格式
//可以适量简化代码
export const getTimesFun({ setTimes = null, type = null } = {}) => {
if (setTimes) {
nowTime = new Date(setTimes);
} else if (setTimes == null) {
return '';
}else {
nowTime = new Date();
}
let year = nowTime.getFullYear();
let mon = nowTime.getMonth() + 1;
let day = nowTime.getDate();
let hour = nowTime.getHours();
let min = nowTime.getMinutes();
let sec = nowTime.getSeconds();
let time = {
year: year,
mon: numFun(mon),
day: numFun(day),
hour: numFun(hour),
min: numFun(min),
sec: numFun(sec),
}
switch (type) {
// 可自己加上其他时间显示模式
case 'yy-mm-dd':
return time.year + '-' + time.mon + '-' + time.day;
break;
case 'yy-mm-dd hh:mm:ss':
return time.year + '-' + time.mon + '-' + time.day + " " + time.hour + ':' + time.min + ':' + time.sec;
break;
default:
return time;
break;
}
}
//少于10前加0
const numFun = (num) => {
if (num < 10) {
return "0" + num;
} else {
return num;
}
}
附加上一个计算几个月前日期的方法
//计算几个月前日期
//调用monthFun(year, month, 3) 3个月前
const monthFun = (year, month, num) => {
let time = '';
if(month <= num){
year = year - 1;
month = numFun(month - num +12);
time = year + '-' + month ;
return time
}
else{
month = numFun(month - num);
time = year + '-' + month ;
return time;
}
}