方法:
/**
* @param {date} time 需要转换的时间
* @param {String} fmt 需要转换的格式 如 yyyy-MM-dd、yyyy-MM-dd HH:mm:ss
*/
export function formatTime(time, fmt) {
if (!time) return '';
else {
const date = new Date(time);
const o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'H+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'q+': Math.floor((date.getMonth() + 3) / 3),
S: date.getMilliseconds(),
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + '').substr(4 - RegExp.$1.length)
);
for (const k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1
? o[k]
: ('00' + o[k]).substr(('' + o[k]).length)
);
}
}
return fmt;
}
}
使用:
setTimingFn() {
this.timing = setInterval(() => {
let dateYear = formatTime(new Date(), 'yyyy-MM-dd');
let dateDay = formatTime(new Date(), 'HH: mm: ss');
/*this.state.weekday 数据为: weekday: [
'星期天',
'星期一',
'星期二',
'星期三',
'星期四',
'星期五',
'星期六',
],
*/
let dateWeek = this.state.weekday[new Date().getDay()];
this.setState({
timeStr: `${dateYear} | ${dateDay} ${dateWeek}`,
});
}, 1000);
}