在 Thymeleaf + Spring Boot 中检索错误时间
Posted
技术标签:
【中文标题】在 Thymeleaf + Spring Boot 中检索错误时间【英文标题】:Wrong time retrived in Thymeleaf + Spring Boot 【发布时间】:2021-12-25 23:05:20 【问题描述】:我列出了一个存储在 mysql BBDD 中的表,但我不知道为什么在 Thymeleaf 视图中打印时 DateTime 字段显示为 +1 小时。
这是我检索信息的表的代码:
<a th:href="@/new">Agreagar Nuevo</a>
<table border="1">
<thead style="background-color: #5BA5EA">
<tr>
<th>Nombre</th>
<th>Apellidos</th>
<th>Tlf.</th>
<th>Tratamiento</th>
<th>Doctor</th>
<th>Cita</th>
<th>Acción</th>
</tr>
</thead>
<tbody>
<tr th:each="p:$lista_pacientes">
<td th:text="$p.nombre_pac"></td>
<td th:text="$p.apellidos_pac"></td>
<td th:text="$p.tlf_pac"></td>
<td th:text="$p.tratamiento_pac"></td>
<td th:text="$p.doctor_pac"></td>
<td th:text="$#dates.format(p.cita_pac, 'EEEEE, dd/MMMMM/yyyy - HH:mm')"> </td>
<td>
<a th:onclick="eliminar([[$p.id_pac]])" href="#">Borrar</a>
<a th:href="@/listar/+$p.id_pac">Modificar</a>
</td>
</tr>
</tbody>
</table>
在这里您可以看到该数据库记录是如何存储在 MySql 中的,以及归档日期是如何在视图中以 +1 小时打印的:
我尝试将 MySQL 中的时区更改为许多不同的值,但没有成功:
SET time_zone = "+00:00";
谢谢
【问题讨论】:
MySQL & jdbc 连接器版本? 我不知道具体如何检查“MySQL & JDBC 连接器版本”。这些是我添加到 pom.xml 中的 JPA 和 MySQL 的依赖项: spring-boot-starter-data-jpamysql-connector-java 这些是与JDBC和MySQL驱动相关的appliation.properties: spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.database-platform = org .hibernate.dialect.MySQL5Dialect 您需要设置您的时区。你可以在这里查看类似的问题***.com/questions/32150292/mysql-now-is-1-hour-behind 自 8.0.23 以来 jdbc 连接器的会话时区的默认行为与以前的版本相比有所不同 【参考方案1】:以防万一这篇文章可以帮助其他人:我已经通过在 application.properties 文件中链接数据库时删除参数 ?serverTimezone=UTC
来解决它:
【讨论】:
以上是关于在 Thymeleaf + Spring Boot 中检索错误时间的主要内容,如果未能解决你的问题,请参考以下文章