2017-01-10 3 views
0

J'ai besoin de convertir l'heure locale dans une ville spécifique en UTC.conversion locale en UTC en java

Par exemple, convertir le temps en NYC en UTC.

Si je passe à l'heure locale et le pays, le service devrait être en mesure de retourner l'UTC

Y at-il une bibliothèque/utilitaire qui mappe la ville/pays à fuseau horaire et le convertit en UTC?

J'essaye d'éviter de construire un maître de fuseau horaire et de faire la conversion.

Puisque ce problème est courant, s'il y a des bibliothèques qui font déjà - s'il vous plaît revenir

Répondre

0

Juste besoin d'utiliser des classes de calendrier et TimeZone?

Définir un fuseau horaire pour l'heure UTC:

TimeZone tz = TimeZone.getTimeZone ("UTC");

Et puis créez le calendrier

Calendrier cal = Calendar.getInstance (tz);

Pour récupérer l'objet Date, utilisez calendar.getTime

cal.getTime()

Si vous avez déjà votre date dans un objet Date (LOCALDATE) vous pouvez utiliser un formatter :

SimpleDateFormat formatter = new SimpleDateFormat(); formatter.setTimeZone (TimeZone.getTimeZone ("UTC")); Chaîne dateinUTC = formatter.format (dateDate)

+0

J'ai clarifié ma question. J'ai besoin d'UTC basé sur l'heure locale d'une ville – lives

+0

Si vous avez l'heure locale stockée dans un objet Date (localDate), vous pouvez utiliser un formateur: SimpleDateFormat formatter = new SimpleDateFormat(); formatter.setTimeZone (TimeZone.getTimeZone ("UTC")); Chaîne dateinUTC = formatter.format (localDate); Je vais mettre à jour la réponse – SCouto