一 概述
- 时间格式化:formatTime,接收参数:Date,返回格式化日期(
yyyy/MM/DD HH:MM:SS
) - 时间间隔:twoTimeInterval,接收参数,formatTime,返回
days天hours时minutes分seconds秒
二 时间工具类
2.1 工具类
/**
* @description:时间格式化
* @param {*} date:日期
*/
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
/**
* @description:时间间隔
* @param {*} startTime :开始时间
* @param {*} endTime :结束时间
*/
function twoTimeInterval(startTime, endTime) {
// 开始时间
let d1 = startTime.replace(/\-/g, "/");
let date1 = new Date(d1);
// 结束时间
let d2 = endTime.replace(/\-/g, "/");
let date2 = new Date(d2);
// 时间相差秒数
let dateDiff = date2.getTime() - date1.getTime();
// 计算出相差天数
let days = Math.floor(dateDiff / (24 * 3600 * 1000));
// 计算出小时数
let residue1 = dateDiff % (24 * 3600 * 1000); // 计算天数后剩余的毫秒数
let hours = Math.floor(residue1 / (3600 * 1000));
// 计算相差分钟数
let residue2 = residue1 % (3600 * 1000); // 计算小时数后剩余的毫秒数
let minutes = Math.floor(residue2 / (60 * 1000));
// 计算相差秒数
let residue3 = residue2 % (60 * 1000); // 计算分钟数后剩余的毫秒数
let seconds = Math.round(residue3 / 1000);
let returnVal =
((days == 0) ? "" : days + "天") +
((hours == 0) ? "" : days + "时") +
((minutes == 0) ? "" : minutes + "分") +
((seconds == 0) ? "" : seconds + "秒");
return returnVal;
}
module.exports = {
formatTime,
twoTimeInterval
}
2.2 使用
2.2.1 formatTime
util.formatTime(new Date())
2.2.2 twoTimeInterval
console.log(util.twoTimeInterval("2021/11/19 13:03:01", "2021/11/19 13:04:01"));