Docker容器內的springCloud應用日誌時間和本地時間不一致

首先要確定的是,我們在日常開發中,使用的都是東八區的時間。

在將應用部署到docker容器內時,發現docker容器內的應用日誌時間和實際時間相差8小時,導致考勤定時計算的時間本應在晚上0點,卻延遲到了實際早上8點。

網上找了很多方法,就不贅述了。下面是解決方法和一些思考。

在啓動類增加

TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

然後發現Date、LocalDateTime是正常的,DateTime以及應用自身的輸出日誌依舊是UTC時間。

在Dockerfile的java啓動參數中 增加

"-Duser.timezone=GMT+8"

發現所有日誌的輸出時間,以及獲取時間都正常了。

------------------------------------------------------------------------------

可能默認需要設置一個時區,不然就使用默認的UTC時間了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章