自学内容网 自学内容网

el-date-picker绑定数据显示比数据库少一天问题解决记录

问题描述:开发过程中发现数据库存的字段值要比<el-date-picker>绑定的值大一天,说明:数据库为mysql,字段类型为date类型

经过查阅资料,得知问题是因为时区不同步导致的。数据库存储的是UTC时间,而el-date-picker显示的是本地时间。如果数据库服务器和你的应用服务器的时区不一致,或者你直接从数据库取出来的UTC时间显示在了本地时区的el-date-picker中,就会发现日期少了一天。

解决方案:
1.后台实体类修改:

@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date date;

2.前端js修改:

// 假设从数据库中取出的UTC时间为utcDate
// 转换为本地时间
const localDate = new Date(utcDate.getTime() + utcDate.getTimezoneOffset() * 60000);
 
// 然后在el-date-picker中使用这个本地时间
<el-date-picker v-model="localDate"></el-date-picker>

原文地址:https://blog.csdn.net/Shiny_boy_/article/details/142858852

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!