Files
sphc/utils/date.js

88 lines
2.9 KiB
JavaScript
Raw Permalink Normal View History

2024-05-06 15:34:15 +08:00
/**
* 数据格式化
* @param {*} date 时间或者时间字符串
* @param {*} format 时间格式
* @returns 格式化后的时间字符串
*/
function dateFormat(date, format = 'yyyy.mm.dd') {
let dt = date;
if (!(date instanceof Date)) {
dt = new Date(Date.parse(date.replace(/-/g, '/')));
}
if (dt == "Invalid Date") {
return ''
}
let y = dt.getFullYear();
//
let m = (dt.getMonth() + 1).toString().padStart(2, '0');
let d = dt
.getDate()
.toString()
.padStart(2, '0');
let h = dt
.getHours()
.toString()
.padStart(2, '0');
let mm = dt
.getMinutes()
.toString()
.padStart(2, '0');
let s = dt
.getSeconds()
.toString()
.padStart(2, '0');
if (format.toLocaleLowerCase() === 'yyyy-mm-dd' || format.toLocaleLowerCase() === '') {
return `${y}-${m}-${d}`;
} else if (format.toLocaleLowerCase() === 'yyyy/mm/dd') {
return `${y}/${m}/${d}`;
} else if (format.toLocaleLowerCase() === 'yyyy.mm.dd') {
return `${y}.${m}.${d}`;
} else if (format.toLocaleLowerCase() === 'yyyy.mm.dd hh:mm:ss') {
return `${y}.${m}.${d} ${h}:${mm}:${s}`;
} else if (format.toLocaleLowerCase() === 'yyyy.mm.dd hh:mm') {
return `${y}.${m}.${d} ${h}:${mm}`;
} else if (format.toLocaleLowerCase() === 'yyyy-mm-dd hh:mm:ss') {
return `${y}-${m}-${d} ${h}:${mm}:${s}`;
} else if (format.toLocaleLowerCase() === 'yyyy/mm/dd hh:mm:ss') {
return `${y}/${m}/${d} ${h}:${mm}:${s}`;
} else if (format.toLocaleLowerCase() === 'mm/dd') {
return `${m}/${d}`;
} else if (format.toLocaleLowerCase() === 'mm-dd') {
return `${m}-${d}`;
} else if (format.toLocaleLowerCase() === 'yyyy-mm') {
return `${y}-${m}`;
} else if (format.toLocaleLowerCase() === 'dd ye') {
return `${d} ${en_mon_arr[dt.getMonth()]}`;
} else if (format.toLocaleLowerCase() === 'yyyy年mm月') {
return `${y}${m}`;
} else if (format.toLocaleLowerCase() === 'mm月dd日 hh:mm') {
return `${m}${d}${h}:${mm}`;
} else {
return `输入的时间格式有误`;
}
}
export function monthDealWith(dateStr, cycle = 3) {
let date = new Date(); // 字符串转日期
// let day = date.getDate(); // 今天
let newDate = new Date(date.getFullYear(), date.getMonth(),date.getDate() + cycle);
// let afterDate = new Date(date.getFullYear(), date.getMonth() + cycle + 1);
// let newMonth = newDate.getMonth() + 1;
// if (newMonth < 10) {
// newMonth = `0${newMonth}`;
// }
// let lastDate = new Date(afterDate.getFullYear(), afterDate.getMonth(), afterDate.getDate() - 1);
// let lastDay = lastDate.getDate();
// if (day > lastDay) {
// return new Date(`${newDate.getFullYear()}-${newMonth}-${lastDay}`)
// } else {
// if (isSub) {
// return new Date(newDate.getFullYear(), newDate.getMonth(), day - 1)
// } else {
// return new Date(`${newDate.getFullYear()}-${newMonth}-${day}`)
// }
// }
return dateFormat(newDate,'yyyy-mm-dd')
}