一、常用格式 YYYY-MM-DD hh:mm:ss
function formatDate(date,format){
date = date ? new Date(date) : new Date()
let year = date.getFullYear()
let month = (date.getMonth() + 1).toString().padStart(2,"0")
let day = date.getDate().toString().padStart(2,"0")
let hour = date.getHours().toString().padStart(2,"0")
let minutes = date.getMinutes().toString().padStart(2,"0")
let seconds = date.getSeconds().toString().padStart(2,"0")
return format = `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`
}
console.log(formatDate());
二、可变换格式
function setNumTwo(num) {
return String(num).length > 1 ? num : "0" + num;
}
/**
* @params date 日期字符串
* @params format 需要显示的日期格式
* return 返回显示的日期的格式
*/
export function formatDate(date, format="YYYY-MM-DD hh:mm") {
// 如果传递了日期 则格式化传入的日期对象
date = date ? new Date(date) : new Date();
// 用对象结构描述字符和日期的关系
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var hour = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
// 如果是MM这种两个字母的时间如果是一个数字,需要前面补0变为两位
var date_map = {
YYYY: year,
MM: setNumTwo(month + 1),
DD: setNumTwo(day),
hh: setNumTwo(hour),
mm: setNumTwo(minutes),
ss: setNumTwo(seconds),
YY: String(year).slice(2),
M: month + 1,
D: day,
h: hour,
m: minutes,
s: seconds,
};
// 遍历date_map对象的key,把字符串里面key字符串替换为对应的日期
Object.keys(date_map).forEach(function (key) {
format = format.replace(key, date_map[key]);
});
return format;
}
三、引用moment函数库
地址:http://momentjs.cn/
比较全面好用的时间库
安装:npm install moment --save
引用:import moment from 'moment'
使用:moment(time).format("YYYY-MM-DD hh:mm")