0
我知道在電子郵件標題中,發送的日期是相對於UTC來表示的,但是當我使用getSentDate()時,它會向我顯示正確的本地時間。JavaMail getSentDate如何讓我獲得當地的正確時間?
爲了防止未來的錯誤,我想知道這到底是怎麼發生的? JavaMail如何知道我的時區並正確地從頭中轉換髮送日期? 我會提到,在我的代碼中,我從未指定過時區。
感謝
我知道在電子郵件標題中,發送的日期是相對於UTC來表示的,但是當我使用getSentDate()時,它會向我顯示正確的本地時間。JavaMail getSentDate如何讓我獲得當地的正確時間?
爲了防止未來的錯誤,我想知道這到底是怎麼發生的? JavaMail如何知道我的時區並正確地從頭中轉換髮送日期? 我會提到,在我的代碼中,我從未指定過時區。
感謝
的JavaMail沒有做到這一點,它是JDK Date類。它要求您的操作系統爲您的當地時區。
我從getSentDate()得到了錯誤的時間,恰好是我當地時間的UTC差值。可以是什麼? – Tobia 2013-11-14 16:39:26
我不明白你的問題。如果消息中的Date:標題包含時區,則JavaMail會使用它。如果它不(儘管它應該),JavaMail使用UTC。消息中的Date:標題究竟是什麼? – 2013-11-15 02:46:47
這是標題:** Received:(由uid 89調用的qmail 18391); 2013年11月15日07:54:17 -0000 **網絡郵件讀取郵件時間爲08:54,我的Java應用程序將其讀取爲09:54。我在GMT + 1上。 – Tobia 2013-11-15 09:39:55