跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JDBC connection URL string 中的 serverTimezone 的作用到底是什么?
未分類
2 9 月 2020

JDBC connection URL string 中的 serverTimezone 的作用到底是什么?

JDBC connection URL string 中的 serverTimezone 的作用到底是什么?

資深大佬 : JasonLaw 17

在MySQL 时间“不正确”问题 – V2EX中,通过在 connection URL string 中显式地设置时区( serverTimezone=Asia/Shanghai )解决了问题。

但是我还是有很多疑问。为什么“在 connection URL string 中设置时区”会将所设置时区的时间存储到 MySQL ?到底是哪里进行这样的处理的?

以下是我查阅的一些资料:

  • java – MySQL client vs server time zone – Stack Overflow
  • java – MySQL JDBC Driver 5.1.33 – Time Zone Issue – Stack Overflow
大佬有話說 (4)

  • 資深大佬 : yanyueio

    reply: 到底哪里进行这样的处理。

    国际化任务处理的时候,具体说就是时间处理。当我今天还在上海用中文时区,然后明天就到了西雅图用的美国西部时间。要在两个页面显示当地时间(从数据库读取出来的),那么要么 mysql 本身设置了统一的时区(通常 scm 不会给你权限重启 mysql),要么自己做好转换(通过连接字符串是一种补救措施)。

    如果你的应用程序启动的时候和 mysql 启动时设置的时区是一样的,那么最好了,不用写 connection 参数,否则还是要告诉 mysql 我这边存进去的时间到底是什么时区的(否则一律按数据库的时区存,否则再读取出来就变味了)。

    hope it helps.

    btw: jvm 启动时可以用 `java.util.TimeZone.setDefault(TimeZone.getTimeZone(“UTC”));`设置时区。

  • 資深大佬 : skai0dev

    ** serverTimezone **:
    Override detection/mapping of time zone. Used when time zone from server doesn’t map to Java time zone

    from: https://dev.mysql.com/doc/connectors/en/connector-j-reference-configuration-properties.html

  • 主 資深大佬 : JasonLaw

    @skai0dev #2 我有点不太理解“Override detection/mapping of time zone. Used when time zone from server doesn’t map to Java time zone”,可以具体解释一下吗?谢谢。

  • 主 資深大佬 : JasonLaw

    @yanyueio #1
    @skai0dev #2

    通过 @palfortime 在“MySQL 时间“不正确”问题 – V2EX”的回答 – https://www.v2ex.com/t/700563#reply15,我明白了为什么“在 connection URL string 中设置时区”会将所设置时区的时间存储到 MySQL ?明白了到底是哪里进行这样的处理的?。

    在 https://github.com/mysql/mysql-connector-j/blob/79a4336f140499bd22dd07f02b708e163844e3d5/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeProtocol.java#L2228 中,会获取到 connection URL string 中所设置的 serverTimezone,最后会设置 serverSession 的 serverTimeZone 。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具