ZonedDateTime à l'UTC avec un décalage appliqué?
Je suis en utilisant Java 8
C'est ce que mon ZonedDateTime
ressemble
2013-07-10T02:52:49+12:00
- Je obtenir cette valeur en tant que
z1.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
où z1
est un ZonedDateTime
.
J'ai voulu convertir cette valeur en tant que 2013-07-10T14:52:49
Comment puis-je le faire?
- Je ne comprends toujours pas :D. Et comment est-il différent de stackoverflow.com/q/35688559/1743880? Qu'entendez-vous par "convertir
2013-07-10T14:52:49
"? - appliquer
+12 hours
à02:52:49
à faire14:52:59
, est-ce clair maintenant? - Donc, vous voulez aller de 12 heures dans l'avenir, pour la même zone de décalage?
- Yes Sir! c'est ce que je veux
- Mais dans votre voulais sortie, il n'y a pas de zone offset plus. Aussi, si le décalage est quelque chose avec une demi-heure (il existe...)?
- depuis le temps va
12 hours
à l'avenir, le décalage n'est pas nécessaire. Le point, c'est d'appliquer le décalage+
ou-
la valeur indiquée dans la variable d'origine - Si vous supprimez les informations de zone, ce qui n'est pas zoné date heure...
- Ce qui est bien parce que je veux le convertir en
LocalDateTime
. - Je n'ai pas l'obtenir. Compte tenu de vos commentaires et de l'offset, de ne pas la sortie est de 12 heures plus tôt?
Vous devez vous connecter pour publier un commentaire.
Est-ce que vous souhaitez?
Cette fonction convertit vos
ZonedDateTime
à unLocalDateTime
avec unZoneId
par la conversion de votreZonedDateTime
à unInstant
avant.Ou peut-être vous voulez que les utilisateurs du système de fuseau horaire au lieu de figé UTC:
UTC
, vous pouvez simplement utiliser prédéfinis zone de décalages:ZoneOffset.UTC
@SimMac Merci pour la clarté. J'ai aussi été confronté au même problème et en mesure de trouver la réponse repose sur sa suggestion.
De sortie:
Il semble que vous ayez besoin de les convertir à l'heure souhaitée (UTC) avant de l'envoyer au formateur.
devrait vous donner quelque chose comme
2018-08-28T17:41:38.213Z