Java 8を使用してタイムゾーンをタイムゾーンからタイムゾーンに変換しようとしています。タイムスタンプはユーザのタイムゾーン内にある。タイムゾーンをローカルタイムゾーンに変換する
// 2016-04-11T12:00:00Z
long sourceTime = 1460372400000L;
timezoneConverter(sourceTime, "America/New_York");
しかし、私は、タイムスタンプを渡すとき、それはユーザーのタイムゾーンに調整され、ジョダ時間、またはインスタントのJava 8のLocalDateTimeを/使用しているとき - それはすでにあるように私は、行われるようにする必要はありませんユーザーのタイムゾーン(すべてのタイムスタンプはユーザーの現地時間で送信されます)。
2016-04-11T07:00-04:00[America/New_York]
代わりの
2016-04-11T12:00-04:00[America/New_York]
で
ZonedDateTime zdt =
ZonedDateTime.ofInstant(Instant.ofEpochMilli(1460372400000L),
ZoneId.of("America/New_York"))
の結果は、この周りに方法はありますか?
ありがとうございます!
私は恐怖を使用することをお勧めあなたのステートメント "は、ユーザーのtからのタイムスタンプですイメージゾーン。 '1460372400000L'のようなタイムスタンプの意味の誤解を示しています。この種のグローバルタイムスタンプは、どのタイムゾーンにも関係なく、UTC + 00:00に固定されています。 –