日期格式化
function formatDate (dat, parttern) {
if (!parttern || parttern === '') parttern = 'yyyy-MM-dd'
let o = {
'M+': dat.getMonth() + 1,
'd+': dat.getDate(),
'h+': dat.getHours() % 12 === 0 ? 12 : dat.getHours() % 12,
'H+': dat.getHours(),
'm+': dat.getMinutes(),
's+': dat.getSeconds(),
'q+': Math.floor((dat.getMonth() + 3) / 3),
'S': dat.getMilliseconds()
};
let week = {
'0': '/u65e5',
'1': '/u4e00',
'2': '/u4e8c',
'3': '/u4e09',
'4': '/u56db',
'5': '/u4e94',
'6': '/u516d'
};
if (/(y+)/.test(parttern)) {
parttern = parttern.replace(RegExp.$1, (dat.getFullYear() + '').substr(4 - RegExp.$1.length));
}
if (/(E+)/.test(parttern)) {
parttern = parttern.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '/u661f/u671f' : '/u5468') : '') + week[dat.getDay() + '']);
}
for (let k in o) {
if (new RegExp('(' + k + ')').test(parttern)) {
parttern = parttern.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
}
}
return parttern;
}
字符串转日期对象
function parseStrToDate (dateStr, pattern) {
let date = new Date()
if (pattern.includes('yyyy')) {
date.setFullYear(Number(dateStr.substr(pattern.indexOf('yyyy'), 4)))
}
if (pattern.includes('MM')) {
date.setMonth(Number(dateStr.substr(pattern.indexOf('MM'), 2)) - 1)
}
if (pattern.includes('dd')) {
date.setDate(Number(dateStr.substr(pattern.indexOf('dd'), 2)))
}
if (pattern.includes('HH')) {
date.setHours(Number(dateStr.substr(pattern.indexOf('HH'), 2)))
}
if (pattern.includes('mm')) {
date.setMinutes(Number(dateStr.substr(pattern.indexOf('mm'), 2)))
}
if (pattern.includes('ss')) {
date.setSeconds(Number(dateStr.substr(pattern.indexOf('ss'), 2)))
}
if (pattern.includes('SSS')) {
date.setMilliseconds(Number(dateStr.substr(pattern.indexOf('SSS'), 3)))
}
return date
}