Date now = new Date();
long timeInterval = now.getTime() - (15705 * 24 * 60 * 60 * 1000L);
long hours = timeInterval/(60 * 60 * 1000L);
LOG.debug(String.format("current date:%s, timeInterval:%d,hours:%d",now.toString(),timeInterval, hours));
的結果是系統打印是意外的輸出(15705指天的20世紀70年代以來的號碼):與ISO時間(8601)
31年12月12日22時06分47秒DEBUG統計。 TimeTest:當前日期:週一12月31日22時06分47秒 CST 2012,一個時間間隔:50807153,時間:14
你可以看到當前的時間是21小時,但結果顯示爲14小時。
幾乎可以肯定是一個時區問題。 – Andrew
「Date」類的許多方法都不推薦使用,因此請使用「Calendar」或「GregorianCalendar」。你不會有這個問題,因爲它們是基於語言環境的。 –