2016-10-10 89 views
2

我收到一個ISO8601時間從客戶端,將其轉換爲UTC,並將其保存爲AWS EC2服務器上的時間戳,以DateTimeZone如下Java的時區和AWS EC2

DateTime groupExpectedDate = sentGroup_expected_date_time.withZone(cityTimezone); 

    Timestamp groupExpectedDateTimestamp = new Timestamp(groupExpectedDate.getMillis()); 

當我運行代碼在我的本地服務器上,時間分配正確的特定城市。但是,當我推送到AWS EC2服務器時,時間是錯誤的。我應該在AWS EC2上進行配置嗎?

+0

我會添加一些日誌記錄,以查看它啓動的地方與本地機器不同。我猜測它在某個時刻使用的是系統時區,而AWS服務器上的時區設置與本地服務器不同。沒有什麼「EC2具體」可以做到這一點。 EC2服務器只是一個Linux服務器。 –

+0

什麼類型的對象是'sentGroup_expected_date_time'? – gvasquez

回答

0

您應該設置Timezone始終在您的環境中的服務器,要麼迫使Java代碼Locale,或設置

哪些Timestamp類是您使用您的底層操作系統的時區(這不是你的問題中說明)?從java.sql.Timestamp或另一個?