后端在application中配置如下:
# 时间转换 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8
用于时间转换,后面传递给前台的时候,前台接收到的数据格式如下:
后来查看个各种资料,得到如下结论:
date:表示日期:1~31
day: 星期 图中5表示星期5
hours:小时 0~23
minutes:分钟 0~59
month:月份 从0开始 所以月份都要+1
nanos: 毫微秒(查看了英文字典)所以此处直接0吧,毕竟mysql精确不到毫微秒吧
seconds:秒 0~59
time:13位的数据字符串(可以直接表示整个时间) 从1970年1月1日0时整到现在的毫秒数。
timezoneOffset:格林威治时间和本地时间之间的时差,以分钟为单位。所以说北京时间和格林威治时间差了8小时。
拓展:
格林威治标准时间(GMT)
地区:英国 皇家格林尼治天文台
时区:UTC/GMT 0 (零时区)
year:年份 如果如图所示的话,需要手动加上1900
所以,在做时间转换得时候,直接对time动手:
function formatterTime(time, fmt) {
if(!time){
return '';
}
if(typeof(time) == "object" || typeof(time) == "OBJECT") {
var z = {
M: time.getMonth() + 1,
d: time.getDate(),
h: time.getHours(),
m: time.getMinutes(),
s: time.getSeconds()
};
fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {
return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2);
});
return fmt.replace(/(y+)/g, function(v) {
return time.getFullYear().toString().slice(-v.length);
});
}else if(typeof(time) == "number"){
var TIME = new Date( time) ;
var z = {
M: TIME.getMonth() + 1,
d: TIME.getDate(),
h: TIME.getHours(),
m: TIME.getMinutes(),
s: TIME.getSeconds()
};
fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) {
return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2);
});
return fmt.replace(/(y+)/g, function(v) {
return TIME.getFullYear().toString().slice(-v.length);
});
}
else return time;
}
看清楚,是两个参数哦。一个是13位数字,一位是格式,例如:"yyyy-MM-dd hh:mm:ss"。