我的一臺機器出現了完全奇怪的問題。我編寫了一個監控我們服務器事件的程序,並將它們顯示在監控電腦上。然而,每個事件狀態消息還包含正在由下面的調用中檢索到的時間戳:可疑的JVM時間行爲
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
與 公共靜態最終字符串DATE_FORMAT_NOW = 「YYYY-MM-DD HH:MM:SS」;
我期待着這個電話會返回當地時間,這個時間一直很好,直到今天。但現在我的節目向我展示了當地時間+3小時的每一個傳入事件。重新啓動jar文件根本沒有幫助,系統時間也正確設置。該程序運行在一臺正在同步中央企業時鐘的計算機上。
任何人都可以解釋我提到的行爲和/或說明一個可能的解決方案,它不是「重新啓動機器,然後再試一次」:-)?
懸崖: - 時間的Retrival正在我的 - 或任何其他機器上,當我開始計劃 - 目標機運行24/7,是隻有監控機,所以沒有人改變任何選項有 - 直到今天它都能正常工作。 - Hostsystem(Windows XP)上的所有時間/時區設置都正確。 (通過CMD - >「日期」,並通過系統偏好檢查)
我很欣賞這個問題的任何回答。感謝您的時間!
該問題自25日起已回答。我已經實現了Timezone.setDefault()的顯式調用,以確保整個時間顯示正確的時區。我現在要關閉這個問題。
謝謝大家的回答!
你檢查了時區嗎? – THelper
嗨,是的,系統端的所有日期和時間選項都是正確的 – Markus
我的意思是日曆和SimpleDateFormat對象的時區。 – THelper