我打電話我rest
API使用以下網址localhost:8080/api/2016-05-30T10:30:00-05:00/3
日期時間到的java.sql.Timestamp轉換添加1小時
的API接收date
爲String
,然後將其轉換成jodatime DateTime對象像dateTime = DateTime.parse(date);
...調試此代碼顯示其產生的預期價值。
然而,當我將這個日期java.sql.timestamp
像Timestamp ts = new Timestamp(dateTime.getMillis());
...產生的時間是2016-05-30 11:30:00.0
...爲什麼它添加+1 hour
的時間和什麼適當的方式轉換?
一些背景
我已保存的時間在SQL表時間戳。與時區(例如字符串+4:00或-5:00)在一個單獨的列中。
我將在我的url路徑參數中收到一個ISO8601
時間,並基於此我必須從db中獲取記錄。爲此,我將使用兩個比較。 1匹配時間,2匹配時區。
您可能想要包含有關時區的信息。它可能經常有...有趣的副作用。 – Matthieu
我應該添加什麼信息?我沒有做任何明確的說每...我的系統設置爲美國東部時區雖然 –
我不熟悉jodatime,但'java.sql.Timestamp(長)'期望參數在GMT時區,我不會沒有看到['BaseDateTime.getMillis()'javadoc] [http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseDateTime.html#getMillis%28%29]中指定的任何時區),雖然它似乎使用ISO8601,其中Z意味着UTC,這相當於GMT ... – Matthieu