2

我有这个 url 可以在我的意大利网站中建立连接,但是,当我尝试从该网站执行一些插入操作时,日期仍然不正确。(应该是例如:01:24,但它是 02:24)

jdbc.url=jdbc:mysql://sql.example.com/database?autoReconnect=true&characterEncoding=UTF-8&sessionVariables=time_zone='Europe/Rome'

我是否需要添加任何其他参数才能使其正常工作?是否有所有时区的完整列表?

4

2 回答 2

5

对不起,我没有你直接问题的答案。但是,我可以提出一些值得考虑的建议,这将完全避免数据库中的所有时区问题。如果可能的话,我建议简单地使用BIGINT字段来存储 Java 的日期。您只需存储long自纪元以来的毫秒数,例如 fromSystem.currentTimeMillis()Date.getTime()

那么日期的时区解释总是在 Java 中管理,Java 擅长使用基于纪元的数字。它确实使直接查询数据库以获取 Java 之外的日期变得更加复杂,但这并不太难,而且在 IMO 中往往是值得的:

SELECT FROM_UNIXTIME(date_field / 1000) FROM table;
于 2011-03-23T01:14:46.143 回答
1

维基百科中有一个“tz”时区名称列表。

于 2011-03-23T02:56:55.010 回答