需求: DatePicker组件,选择日期后格式变成UTC,例如:选择的日期是: 2019-03-10,得到的结果却是 2019-03-10T16:00:00.000Z,页面显示是SatMar 09 2019 00:00:00 GMT+0800 (中国标准时间)
解决方法:用 on-change事件的返回值,给绑定的数据赋值。查文档可知道on-change的返回值是已经格式化后的日期,是我们想要的格式,在template中$event
是on-change的返回值,所以直接用简易写法“endTime=$event”就可以赋值。
<DatePicker type="datetime"
placeholder="选择截止时间"
v-model="formCustom.endTime"
@on-change="formCustom.endTime=$event">
</DatePicker>
这是添加时间,v-model
和@on-change
一起用类型就是yyyy-MM-dd HH:mm:ss
类型的
但是时间添加成功之后,还得支持修改呀,修改的话,v-model
和@on-change
一起用类型还是中国标准时间,目前发生这种情况原因未知,但是也得解决,所以采用了正则。
let endtime = new Date(this.eachItem.endTime).toJSON();
this.eachItem.endTime = new Date(+new Date(endtime) + 8 * 3600 * 1000)
.toISOString()
.replace(/T/g, " ")
.replace(/\.[\d]{3}Z/, "");
时间控件解决了,又发现查出来的时间跟MySQL中的时间差一天
解决方案:在jdbc加上&serverTimezone=Asia/Shanghai