2014-01-17 31 views
0

假設我爲紐約獲得時間戳mTimestamp。再說我的當地時區是加州。如果紐約時區將翻譯爲紐約的9:03:45 PM,那麼我如何獲得加利福尼亞州9:03:45 PM的等效時間戳?我希望這個問題是有道理的,這是我能夠表達的最好的。從另一個時區轉換爲保留Java本地時間的本地時區

所以這個函數會將一個時間戳,比如說紐約時間下午9點的時間戳,轉換成加利福尼亞州下午9點的時間戳。

+0

不http://stackoverflow.com/questions/8238661/how-to-convert-date-time-from-one-time-zone-to-another-time-zone相當重複的OP似乎在特意詢問Jodatime。 – Raedwald

回答

1

既然你已經用「datetime」和「jodatime」標記了你的問題,那麼我假設你說的是類org.joda.time.DateTime

這個類有確實的內部時區的國家!如果你只看方法withZone()withZoneRetainFields(),那麼你可以改變這種狀態到另一個時區。在你的情況下,你需要相同的本地時間,但改變時區,從而改變全球時間線上的物理時刻。

DateTime newYork = 
    new DateTime(2014, 1, 17, 21, 3, 45, DateTimeZone.forID("America/New_York"); 
DateTime california = 
    newYork.withZoneRetainFields(DateTimeZone.forID("America/Los_Angeles")); 
+0

我真的很喜歡你表達我的問題的方式。非常感謝你的重新安排。我會嘗試你的答案。在同一時間+1。 – user3093402

+0

我認爲它解決了它。非常感謝你! – user3093402

0

我認爲時間標記將是相同的,因爲時間仍然相同,但是如果您想在兩個不同的區域設置中轉換時間,然後將時間從一個區域設置轉換爲不同區域設置的時間,更有意義

相關問題