介紹
在Java應用程序中,與MySQL數據庫交互時,如果不設置MySQL服務器所在的時區,查詢結果可能不正確。因為MySQL服務器默認時區可能與應用程序所在地區的時區不一致。
查看MySQL服務器時區
可以通過以下命令查看MySQL服務器所在的時區:
SELECT @@global.time_zone;
執行該命令后,MySQL服務器會將其時區作為字符串返回。
設置MySQL服務器時區
可以通過以下命令設置MySQL服務器所在的時區:
SET GLOBAL time_zone = '+8:00';
上述命令將MySQL服務器時區設置為東八區。這里的+8:00表示相對于UTC時間偏移的小時和分鐘數。
使用JDBC連接MySQL時設置時區
在Java應用程序中,可以通過JDBC連接MySQL數據庫,并設置MySQL服務器時區。示例代碼如下:
String dbUrl = "jdbc:mysql://localhost:3306/yourdb?serverTimezone=Asia/Shanghai";
Connection conn = DriverManager.getConnection(dbUrl, "root", "password");
上述代碼中,通過在數據庫連接URL中添加serverTimezone參數,來指定MySQL服務器所在的時區。Asia/Shanghai表示使用中國上海的時區。