我正在使用Java 8並嘗試將時區從一個時區轉換爲另一個時區。時間戳將在用戶的時區中,例如將時區從一個時區轉換爲當地時區
// 2016-04-11T12:00:00Z
long sourceTime = 1460372400000L;
timezoneConverter(sourceTime, "America/New_York");
然而,使用約達時間,或Java 8時LocalDateTime /即時,當我通過時間戳,將其調整到用戶的時區 - 我不需要這樣的事情發生,因爲它已經在用戶的時區(所有時間戳將在用戶的當地時間發送)。
ZonedDateTime zdt =
ZonedDateTime.ofInstant(Instant.ofEpochMilli(1460372400000L),
ZoneId.of("America/New_York"))
結果
2016-04-11T07:00-04:00[America/New_York]
,而不是
2016-04-11T12:00-04:00[America/New_York]
有沒有解決這個辦法嗎?
謝謝!
我害怕你的陳述「是用戶的時間戳ime區「。表示誤解了諸如「1460372400000L」之類的時間戳的含義。這種全球時間戳與任何時區都沒有關係,只是固定爲UTC + 00:00。 –