一、封装当前时间
getNowTime(){
var date = new Date();
var sign2 = ":";
var year = date.getFullYear(); // 年
var month = date.getMonth() + 1; // 月
var day = date.getDate(); // 日
var hour = date.getHours(); // 时
var minutes = date.getMinutes(); // 分
var seconds = date.getSeconds(); //秒
var weekArr = [
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期天",
];
var week = weekArr[date.getDay()];
// 给一位数的数据前面加 “0”
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
if (hour >= 0 && hour <= 9) {
hour = "0" + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = "0" + seconds;
}
const end =
year +
"-" +
month +
"-" +
day +
" " +
hour +
sign2 +
minutes +
sign2 +
seconds;
}
调用 this.getNowTime(),这个end就是现在的时间 比如 2022-12-29 17:08:34
二、最近一天的 时间
getoneDay(){
var date = new Date();
const start = this.timestampToTime(
new Date().getTime() - 3600 * 1000 * 1
);
}
上面的代码是计算最近一小时的时间戳,然后调用一个转为时间戳的方法即可,加上下面的代码,start就是最近一小时的开始时间,加上上面的现在时间,就容易取到一段时间的开始和结束时间了
timestampToTime(timestamp) {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + "-";
var M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
// var D = date.getDate() + " ";
var D =
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
// var h = date.getHours() + ":";
var h =
(date.getHours() > 0 && date.getHours() <= 9
? "0" + date.getHours()
: date.getHours()) + ":";
// var m = date.getMinutes() + ":";
var m =
(date.getMinutes() > 0 && date.getMinutes() <= 9
? "0" + date.getMinutes()
: date.getMinutes()) + ":";
// var s = date.getSeconds();
var s =
date.getSeconds() > 0 && date.getSeconds() <= 9
? "0" + date.getSeconds()
: date.getSeconds();
return Y + M + D + h + m + s;
},
这个就是转为标准时间啦
三、最近七天
getoneDay(){
var date = new Date();
const start = this.timestampToTime(
new Date().getTime() - 3600 * 1000 * 7
);
}
依然需要上面timestampToTime的方法,如果是三十天就将7改成三十,以此类推
四、截取时间到小时数
//默认最近一天的时间
const getNowTime = () => {
var date = new Date();
var sign2 = ":";
var year = date.getFullYear(); // 年
var month = date.getMonth() + 1; // 月
var day = date.getDate(); // 日
var hour = date.getHours(); // 时
var minutes = date.getMinutes(); // 分
var seconds = date.getSeconds(); //秒
var weekArr = [
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期天",
];
var week = weekArr[date.getDay()];
// 给一位数的数据前面加 “0”
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
if (hour >= 0 && hour <= 9) {
hour = "0" + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = "0" + seconds;
}
const end =
year + "-" + month + "-" + day + " " + hour + sign2 + "00" + sign2 + "00";
const start2 = this.timestampToTime(new Date().getTime() - 3600 * 1000);
const start = start2.slice(0, 13) + ":00:00";
};
此时是需要最近的一个小时时间段,比如现在是2022-12-29 17:08:34
我取到的时间是 start:2022-12-29 16:00:00
end:2022-12-29 17:00:00
slice: start2.slice(0, 13) 是截取字符串start2从第0位开始到13位直接的部分