当前位置: 首页 > 知识库问答 >
问题:

如何使用Spring boot在Mysql数据库中存储正确的日期和时间值?

钱旻
2023-03-14

在将spring boot应用程序连接到MYSQL数据库时,我遇到了以下错误:

通用域名格式。mysql。希杰。例外。InvalidConnectionAttributeException:服务器时区值“未知”无法识别或表示多个时区。如果要利用时区支持,必须将服务器或JDBC驱动程序(通过serverTimezone配置属性)配置为使用更具体的时区值。

application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

如果我将serverTimeZone UTC与数据源url一起使用,则数据库值设置为从当前本地时间返回5:30次,并且日期将存储为昨天的日期。

spring.datasource.url=jdbc:mysql://localhost:3306/db?serverTimezone=UTC&useLegacyDatetimeCode=false

我应该如何设置日期和时间的正确值?

共有1个答案

陶飞鸿
2023-03-14

服务器时区=UTC

 类似资料:
  • 问题内容: 我有数千张在坦桑尼亚拍摄的照片,我想将每张照片的日期和时间存储在MySQL数据库中。但是,该服务器位于美国,当我尝试存储坦桑尼亚的日期时间(在美国的Spring夏时制时间)处于“无效”小时之内时,我遇到了问题。坦桑尼亚不执行夏令时,因此该时间实际上是有效时间。 其他复杂情况是,来自许多不同时区的协作者将需要访问存储在数据库中的日期时间值。我希望他们 总是 以坦桑尼亚的时间出现,而不是出

  • 问题内容: 如何配置JPA /hibernate模式以UTC(GMT)时区在数据库中存储日期/时间?考虑以下带注释的JPA实体: 如果日期为太平洋标准时间(PST)2008-Feb-03 9:30 am,那么我希望数据库中存储2008-Feb-03 5:30 pm的UTC时间。同样,从数据库中检索日期时,我希望将其解释为UTC。因此,在这种情况下530pm是UTC 530pm。显示时,它将被格式化

  • 问题内容: 让我解释一下:我并不是在问将特定日期时间的时区存储在数据库中的正确方法。我说的是时区本身。例如: 我有一个名为“用户”的MySQL表。现在,在此表上,我希望有一列包含用户居住地的时区(由用户提供,将从列表中选择)。我正在使用PHP,其中包含类似以下时区字符串的列表: 美国时区列表 现在,显而易见的解决方案(至少对我而言)是在“用户”表中创建VARCHAR列,然后将PHP使用的时区字符串

  • 问题内容: 如何配置JPA /hibernate模式以UTC(GMT)时区在数据库中存储日期/时间?考虑以下带注释的JPA实体: 如果日期是太平洋标准时间(PST)2018-Feb-03 9:30 am,那么我希望数据库中存储2008-Feb-03 5:30 pm的UTC时间。同样,从数据库中检索日期时,我希望将其解释为UTC。因此,在这种情况下,530pm是UTC 530pm。显示时,它将被格式

  • 问题内容: 我所读到的有关将时间转换为用户时区的所有信息都说,最好的方法是在UTC中存储日期和时间,然后将用户的时区偏移量添加到该时间。 如何以UTC时间存储日期?我使用MySQL DATETIME字段。 当在我的PHP代码中向MySQL添加新记录时,我将用于插入MySQL DATETIME。 我需要使用不同于存储UTC时间的其他方法吗? 问题答案: MySQL: 以’YYYY-MM-DD HH:

  • 问题内容: 我在这里看到了一些相关的问题……本质上,我想要的是将日期时间存储为UTC,并让应用程序用户选择他想显示日期的时区-time in。 由于似乎日期时间字段受基础JDBC驱动程序的影响,所以我想知道这是否是存储UTC日期时间的可接受方法: 将MySQL和Application Server计算机都设置为UTC时区(无需分开) MySQL和JVM都应该选择基础系统时间设置(如果没有其他说明的