这是一个记录解决获取前端时间传到后端报错的问题
前端代码是使用的vue,在data里创建一个变量createTime,在methods编写下面的方法获取当前时间
getCurrentTime() {
//获取当前时间并打印
let yy = new Date().getFullYear();
let mm = new Date().getMonth()+1;
let dd = new Date().getDate()<10? '0'+new Date().getDate():new Date().getDate();
let hh = new Date().getHours()<10? '0'+new Date().getHours():new Date().getHours();
let mf = new Date().getMinutes()<10 ? '0'+new Date().getMinutes() : new Date().getMinutes();
let ss = new Date().getSeconds()<10 ? '0'+new Date().getSeconds() : new Date().getSeconds();
if (mm >= 1 && mm <= 9) {
mm = "0" + mm;
}
this.community.createTime = yy+mm+dd+hh+mf+ss;
console.log( this.community.createTime)
},
然后在提交表单里面使用该方法获取时间,注意这里获取的时间年月日时分秒不要叫其他符号修饰
按照上面方法就行。运行我们的项目在F12我们可以看返回的时间是否满足要求
因为我们传回后端的数据是string类型所以我们要进行转化,所以使用下面这个注释,我的是因为数据库使用的是timestamp类型存储时间。实体类不要使用Date类型不然就会报错,我们先用String在进行转化
错误的:
@DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss")
private Date createTime;//创建时间//
改为
@DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss")
private String createTime;//创建时间//
我这个然后就成功了,要注意的还有
注意这里获取的时间年月日时分秒不要叫其他符号修饰
按照上面方法就行,千万不要用,除非你只是写着完,不需要连接数据库进行存储,我们存入数据库的就是下面这种格式