//js的new Date()返回的是中国标准时间:
console.log('newDate', new Date());
//输入:
newDate Sat Oct 30 2021 13:34:46 GMT+0800 (中国标准时间)
格式化new Date()返回的中国标准时间:
定义方法formatDate
export function formatDate(time, cFormat = null) {
const format = cFormat || '{y}-{m}-{d}';
const 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 time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
const value = formatObj[key];
// Note: getDay() returns 0 on Sunday
if (key === 'a') {
//如果key是a,就是星期,格式化成一~日
//例如formatDate(new Date(), '{y}-{m}-{d}-{h}-{i}-{s}-{a}');
//会输出2021-10-29-00-00-00-五
//星期的value会返回0-6,['日', '一', '二', '三', '四', '五', '六'][2]代表周二
return ['日', '一', '二', '三', '四', '五', '六'][value];
}
//padStart用于字符串头部补全,2个字符,如果不够前面补0
return value.toString().padStart(2, '0');
});
return time_str;
}
使用formatDate函数格式化日期格式:传入日期格式为{y}-{m}-{d},可以自己定义成年月日时{y}-{m}-{d}-{h}
formatDate(new Date(), '{y}-{m}-{d}');
//返回的是当前时间 2021-10-30
如果格式化的不是当前时间,可以在new Date()里传入相应的时间new Date(time),不传值默认是当前时间。