JS如何利用时间戳来计算某一时间的前后时间

计算某一时刻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;
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值