J'utilise Java 8 et tente de convertir un horodatage d'un fuseau horaire à un autre. L'horodatage sera dans le fuseau horaire de l'utilisateur, par ex.Convertir la date d'un fuseau horaire en fuseau horaire local
// 2016-04-11T12:00:00Z
long sourceTime = 1460372400000L;
timezoneConverter(sourceTime, "America/New_York");
Cependant, lors de l'utilisation du temps Joda, ou Java 8 LocalDateTime/instantané, quand je passe l'horodatage, il est réglé en temps de l'utilisateur de la zone - Je ne ai pas besoin que cela se produise, car il est déjà dans la le fuseau horaire de l'utilisateur (tous les horodatages seront envoyés à l'heure locale de l'utilisateur).
ZonedDateTime zdt =
ZonedDateTime.ofInstant(Instant.ofEpochMilli(1460372400000L),
ZoneId.of("America/New_York"))
résultats dans
2016-04-11T07:00-04:00[America/New_York]
au lieu de
2016-04-11T12:00-04:00[America/New_York]
Yat-il un moyen de contourner cela?
Merci!
Je crains votre déclaration "c'est un horodatage de l'utilisateur ime zone. " indique un malentendu sur la signification des horodatages tels que '1460372400000L'. Ce type d'horodatage global n'est pas lié à des fuseaux horaires, mais juste à UTC + 00: 00. –