js时间戳转日期
const date = new Date();
const date = `${time}`.length > 10 ? new Date(time) : new Date(time * 1000);
const YY = `${date.getFullYear()}`;
const MM = `${date.getMonth() + 1 < 10 ? `0${(date.getMonth() + 1)}` : date.getMonth() + 1}`;
const DD = `${date.getDate() < 10 ? `0${date.getDate()}` : date.getDate()}`;
const hh = `${date.getHours() < 10 ? `0${date.getHours()}` : date.getHours()}`;
const mm = `${date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()}`;
const ss = `${date.getSeconds() < 10 ? `0${date.getSeconds()}` : date.getSeconds()}`;
const week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', ][date.getDay()];
js时间戳转换自定义日期格式(适用常见的日期格式)
const dateTransfomr = ({
date = new Date(),
format = '%Y-%M-%D %h:%m:%s',
isFill = true,
isShowWeek = false,
}) => {
const Y = date.getFullYear();
let M = date.getMonth() + 1,
D = date.getDate(),
h = date.getHours(),
m = date.getMinutes(),
s = date.getSeconds();
if (isFill) {
const less = value => value < 10;
M = less(M) ? `0${M}` : M;
D = less(D) ? `0${D}` : D;
h = less(h) ? `0${h}` : h;
m = less(m) ? `0${m}` : m;
s = less(s) ? `0${s}` : s;
}
const week = isShowWeek ? ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', ][date.getDay()] : '';
return `${format.replace('%Y', Y)
.replace('%M', M)
.replace('%D', D)
.replace('%h', h)
.replace('%m', m)
.replace('%s', s)} ${week}`;
};
const dateFormat = options => {
if (options.timeStamp) {
const len = options.timeStamp.toString().length;
if (![10, 13].includes(len)) {
throw new Error('不是正确的时间戳,请传入秒、毫秒时间戳');
}
options.date = new Date(len === 10 ? options.timeStamp * 1000: options.timeStamp);
}
return dateTransfomr(options);
};
dateFormat({ timeStamp: 1667356326 })
dateFormat({ timeStamp: 1667356326, format: '%Y/%M/%D'})
dateFormat({ timeStamp: 1667356326, format: '%Y-%M-%D' })
dateFormat({ timeStamp: 1667356326, format: '%Y/%M/%D %h:%m:%s' })
dateFormat({ isShowWeek: true})
dateFormat({ isShowWeek: true, format: '%Y/%M/%D'})
dateFormat({ isShowWeek: true, format: '%Y-%M-%D' })
dateFormat({ isShowWeek: true, format: '%Y/%M/%D %h:%m:%s' })