2024-02-21 17:43:11 +08:00
|
|
|
|
//返回 例 2017
|
|
|
|
|
const formatYear = data => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
var date = data.date;
|
|
|
|
|
var types = data.types;
|
|
|
|
|
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()
|
|
|
|
|
if (types == 'year') {
|
|
|
|
|
return [year].map(formatNumber).join('-')
|
|
|
|
|
} else if (types == 'month') {
|
|
|
|
|
return [month].map(formatNumber).join('-')
|
|
|
|
|
} else if (types == 'day') {
|
|
|
|
|
return [day].map(formatNumber).join('-')
|
|
|
|
|
}
|
2024-02-21 17:43:11 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//返回 例 12月02日
|
|
|
|
|
const formatDate2 = date => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
const month = date.getMonth() + 1
|
|
|
|
|
const day = date.getDate()
|
|
|
|
|
return [month].map(formatNumber) + '月' + [day].map(formatNumber) + '日'
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//返回 例 2017-12-12
|
|
|
|
|
const formatDate = date => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
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('-')
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
2024-03-04 15:49:05 +08:00
|
|
|
|
//返回 例 2017-12-12 12:30:00
|
2024-02-21 17:43:11 +08:00
|
|
|
|
const formatTime = date => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
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()
|
2024-02-21 17:43:11 +08:00
|
|
|
|
|
2024-03-04 15:49:05 +08:00
|
|
|
|
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
|
|
|
|
//返回 例 12-12 12:30:00
|
|
|
|
|
const formatTime2 = date => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
const month = date.getMonth() + 1
|
|
|
|
|
const day = date.getDate()
|
|
|
|
|
const hour = date.getHours()
|
|
|
|
|
const minute = date.getMinutes()
|
2024-02-21 17:43:11 +08:00
|
|
|
|
|
2024-03-04 15:49:05 +08:00
|
|
|
|
return [month, day].map(formatNumber).join('-') + ' ' + [hour, minute].map(formatNumber).join(':')
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
|
|
|
|
//返回 小时12:00:00
|
|
|
|
|
const formatHour = data => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
var date = data.date;
|
|
|
|
|
var types = data.types;
|
|
|
|
|
const hour = date.getHours()
|
|
|
|
|
const minute = date.getMinutes()
|
|
|
|
|
const second = date.getSeconds()
|
2024-02-21 17:43:11 +08:00
|
|
|
|
|
2024-03-04 15:49:05 +08:00
|
|
|
|
if (types == 'hour') {
|
|
|
|
|
return [hour].map(formatNumber)
|
|
|
|
|
} else if (types == 'minute') {
|
|
|
|
|
return [minute].map(formatNumber).join('-')
|
|
|
|
|
} else if (types == 'second') {
|
|
|
|
|
return [second].map(formatNumber)
|
|
|
|
|
}
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
2024-03-04 15:49:05 +08:00
|
|
|
|
//返回 指定秒数59 , 2017-12-12 12:30:59
|
|
|
|
|
function selfFormatTimeReturnSecond59(time) {
|
|
|
|
|
let date = new Date(time);
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
|
|
|
|
let hour = date.getHours()
|
|
|
|
|
let minute = date.getMinutes()
|
|
|
|
|
let second = date.getSeconds()
|
|
|
|
|
|
|
|
|
|
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, '59'].map(formatNumber).join(':')
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-04 16:37:45 +08:00
|
|
|
|
//返回 2017-12-12 12:30:59
|
|
|
|
|
function selfFormatTimeYMDHMS(time) {
|
|
|
|
|
let date = new Date(time);
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
|
|
|
|
let hour = date.getHours()
|
|
|
|
|
let minute = date.getMinutes()
|
|
|
|
|
let second = date.getSeconds()
|
|
|
|
|
|
|
|
|
|
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-05 17:40:50 +08:00
|
|
|
|
|
|
|
|
|
//返回 2017-12-12 12
|
|
|
|
|
function selfFormatTimeYMDH(time) {
|
|
|
|
|
let date = new Date(time);
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
|
|
|
|
let hour = date.getHours()
|
|
|
|
|
let minute = date.getMinutes()
|
|
|
|
|
let second = date.getSeconds()
|
|
|
|
|
|
|
|
|
|
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour].map(formatNumber).join(':')
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-04 18:00:27 +08:00
|
|
|
|
//返回 例 2017-12-12
|
|
|
|
|
function selfFormatTimeYMD(time) {
|
|
|
|
|
let date = new Date(time)
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
|
|
|
|
let hour = date.getHours()
|
|
|
|
|
let minute = date.getMinutes()
|
|
|
|
|
let second = date.getSeconds()
|
|
|
|
|
return [year, month, day].map(formatNumber).join('-')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//返回 12:30
|
|
|
|
|
function selfFormatTimeHM(time) {
|
|
|
|
|
let date = new Date(time);
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
|
|
|
|
let hour = date.getHours()
|
|
|
|
|
let minute = date.getMinutes()
|
|
|
|
|
let second = date.getSeconds()
|
|
|
|
|
|
|
|
|
|
return [hour, minute].map(formatNumber).join(':')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* JS 计算两个时间间隔多久(时分秒)
|
|
|
|
|
* @param startTime "2019-10-23 15:27:23"
|
|
|
|
|
* @param endTime "2019-10-23 15:27:55"
|
|
|
|
|
* @return 1天2时3分5秒
|
|
|
|
|
*/
|
|
|
|
|
function twoTimeInterval(startTime, endTime) {
|
|
|
|
|
// 开始时间
|
|
|
|
|
let date1 = new Date(startTime);
|
|
|
|
|
// 结束时间
|
|
|
|
|
let date2 = new Date(endTime);
|
|
|
|
|
// 时间相差秒数
|
|
|
|
|
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) ? "" : hours + "时") +
|
|
|
|
|
((minutes == 0) ? "" : minutes + "分")
|
|
|
|
|
// + ((seconds == 0) ? "" : seconds + "秒");
|
|
|
|
|
return returnVal;
|
|
|
|
|
}
|
2024-03-04 15:49:05 +08:00
|
|
|
|
|
2024-03-06 15:08:38 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* JS 计算两个时间间隔多久(时)
|
|
|
|
|
* @param startTime "2019-10-23 15:27:23"
|
|
|
|
|
* @param endTime "2019-10-23 15:27:55"
|
|
|
|
|
* @return 12时
|
|
|
|
|
*/
|
|
|
|
|
function twoTimeIntervalReturnHours(startTime, endTime) {
|
|
|
|
|
// 开始时间
|
|
|
|
|
let date1 = new Date(startTime);
|
|
|
|
|
// 结束时间
|
|
|
|
|
let date2 = new Date(endTime);
|
|
|
|
|
// 时间相差秒数
|
|
|
|
|
let dateDiff = date2.getTime() - date1.getTime();
|
|
|
|
|
// 计算出小时数
|
|
|
|
|
let hours = Math.floor(dateDiff / (3600 * 1000));
|
|
|
|
|
return hours;
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-21 17:43:11 +08:00
|
|
|
|
const formatNumber = n => {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
n = n.toString()
|
|
|
|
|
return n[1] ? n : '0' + n
|
2024-02-21 17:43:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
2024-03-04 15:49:05 +08:00
|
|
|
|
formatTime: formatTime,
|
|
|
|
|
formatDate: formatDate,
|
|
|
|
|
formatYear: formatYear,
|
|
|
|
|
formatDate2: formatDate2,
|
|
|
|
|
formatHour: formatHour,
|
|
|
|
|
formatTime2: formatTime2,
|
2024-03-04 16:37:45 +08:00
|
|
|
|
selfFormatTimeReturnSecond59,
|
2024-03-04 18:00:27 +08:00
|
|
|
|
selfFormatTimeYMDHMS,
|
|
|
|
|
selfFormatTimeYMD,
|
|
|
|
|
selfFormatTimeHM,
|
2024-03-05 17:40:50 +08:00
|
|
|
|
selfFormatTimeYMDH,
|
2024-03-06 15:08:38 +08:00
|
|
|
|
twoTimeInterval,
|
|
|
|
|
twoTimeIntervalReturnHours
|
2024-03-04 15:49:05 +08:00
|
|
|
|
}
|