1. 概述
1.1 應用場景
部署工程時,可能會使用多個不同的伺服器,部署多個工程節點、叢集組件、外接配置庫等。
使用者必須確定這些伺服器的時區一致,否則可能導致部署失敗、啟動失敗、取數異常等。
問題一:使用者讀寫任務資料源為 MySQL 資料庫,FineDataLink中「資料預覽」查看的日期資料和資料庫資料時間不一致。
問題二:定時任務設定了執行頻率,但並沒有按照設定的頻率執行(使用者伺服器時間不準導致)。
1.2 解決方案
本文以 Ubuntu 系統為例,簡單介紹如何使用命令行調整系統時區。
其他類型作業系統版本命令可能略有差別,請自行查閱資料處理。
2. 操作步驟
2.1 查看當前時區
開啟終端,輸入以下命令來查看當前系統的時區設定:
timedatectl

2.2 列出所有可用的時區
如果想查看所有可用的時區列表,可以使用以下命令:
timedatectl list-timezones
也可以使用 grep 命令來幫助搜尋特定的城市,例如:
timedatectl list-timezones | grep Shanghai

2.3 設定系統時區
當你決定使用哪個時區後,可以用以下命令來設定系統時區:
請將 Asia/Shanghai 取代為你選擇的時區。這個命令會立即更新系統的時區。
sudo timedatectl set-timezone Asia/Shanghai
![]()
2.4 驗證時區更改生效
再次運作 timedatectl 命令來確認時區已經正確更新:
確認匯出顯示的時區已經是你設定的新時區。
timedatectl

3. 內容擴展
建議使用者在 jvm 中也加上時區參數。
需要使用JPS -v查詢 jvm 參數,查看是否有額外設定時區。如下圖所示:

若沒有額外設定時區:
1)Linux 系統中:在%Tomcat%/bin目錄下的catalina.sh/setenv.sh檔案中新增配置,配置完成後重啟工程。
-Duser.timezone=Asia/Shanghai
2)Windows 系統中:在%Tomcat%/bin目錄下的catalina.bat檔案中新增配置,配置完成後重啟工程。
-Duser.timezone=Asia/Shanghai
-Duser.timezone=Asia/Shanghai 這句話儘量加在檔案的開頭,與其他自訂的 jvm 參數放在一起。如下圖所示:

