1.时间格式化
function parseTime(time, cFormat) {
if (arguments.length === 0 || !time) {
return null
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if ((typeof time === 'string')) {
if ((/^[0-9]+$/.test(time))) {
time = parseInt(time)
} else {
=
time = time.replace(new RegExp(/-/gm), '/')
}
}
if ((typeof time === 'number') && (time.toString()
.length === 10)) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const timeStr = format.replace(/{([ymdhisa])+}/g, (result, key) => {
const value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
return value.toString().padStart(2, '0')
})
return timeStr
}
2.获取未来时间,0是第一天
function getFutureTime(d) {
var date1 = new Date(),
time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate(); //time1表示当前时间
var date2 = new Date(date1);
date2.setDate(date1.getDate() + d);
var time2 = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate();
return time2
}
3.获取开始时间和结束时间中间的所有日期 格式:yyyy-mm-dd
function formatDateList(startDate, endDate) {
let sdStr = new Date(startDate);
let sdDate = sdStr.getTime();
let edStr = new Date(endDate);
let edDate = edStr.getTime();
let temp = sdStr;
let str = "";
for (let i = sdDate; i <= edDate; i += 86400000) {
str = str + "," + parseTime(temp, "{y}-{m}-{d}");
temp.setDate(temp.getDate() + 1);
}
return str.split(",").splice(1);
}
4.获取月份 格式yyyy-mm-dd
function funMonth(data) {
let date = new Date(data);
let m = date.getMonth();
let chinese = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"];
return chinese[m] + "月";
}