为什么写这篇博客?
1、js语言对于时间这一块没有具体的封装方法进行处理,搞得每次对接后端借口,超级蛋疼!(知识受限)
2、没有博文对这方面做过具体的总结,一堆的Copy Boy,看这些垃圾博文看的想吐!(目前情况)
3、本人只是一个才学java 5个月 前端才学了2个月的小菜B,不喜勿喷,起初就是自己用vue对接接口生成折线图,没有时间转化方法,就研究了一下别人大佬的方法,自己再稍微改良了一下。如有缺陷之处,请大家集思广益。
废话不多说上代码:
getFormatDate(timeStamp, numerical, flag){
if(flag){
let date = new Date(timeStamp+numerical);
}else{
let date = new Date(timeStamp-flag);
}
let year = date.getFullYear();
let month = date.getMonth();
let strDate = date.getDate();
let hour = date.getHours();
let min = date.getMinutes();
let sec = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (hour >= 1 && hour <= 9) {
hour = "0" + hour;
}
if (min >= 1 && min <= 9) {
min = "0" + min;
}
if(sec >= 1 && sec <= 9) {
sec = "0" + sec;
}
return year + '-' + month + '-' + strDate + " " + hour + ":" + min + ":"+sec ;
}
目前就封装成这个样子:
参数:
timeStamp:初始时间戳
numerical:差值时间戳
flag:boolean类型 true 相加 false相减
实例:
//取当前时间的后2小时
getFormatDate(new Date().getTime(), 1000*60*60*2, true)
//取当前时间的后1天
getFormatDate(new Date().getTime(), 1000*60*60*24, true)
//取当前时间的后2天
getFormatDate(new Date().getTime(), 1000*60*60*24*2, true)
//取当前时间的前2小时
getFormatDate(new Date().getTime(), 100060*60*2, false)
//取当前时间的前1天
getFormatDate(new Date().getTime(), 1000*60*60*24, false)
//取当前时间的前2天
getFormatDate(new Date().getTime(), 1000*60*60*24*2, false)