Cómo convertir hora UTC a alguna otra zona horaria ("CST", "IST")
En mi servidor de aplicaciones Android devolverá una fecha UTC
en el formato siguiente ( yyyy-MM-dd HH:mm:ss
) 24 horas y necesito convertir esos tiempos en el TimeZone del usuario por ejemplo CST
, IST
.
Hice el siguiente código, pero sé que es correcto o no, por favor ayúdame a hacer la conversión de zona horaria de manera correcta.
- Detectar el tiempo de espera de la conexión de cliente de android java desde PHP
- ¿Hay una manera de evitar tener FullView SearchView / Keyboard en el paisaje?
- El proveedor de red genera 2 copias de una ubicación
- Teclado personalizado: manejo del tipo de entradaTipo
- No se puede enlazar una acción. LibGDX
Tengo la fecha UTC como cadena json y la conversión en el formato de zona horaria del usuario y mostrar la parte de Android
private static Date utcDate; private static DateFormat expireFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); try { expireFormat.setTimeZone(TimeZone.getTimeZone("UTC")); utcDate = expireFormat.parse("2014-04-01 10:32:00"); System.out.println(TimeZone.getDefault().getID()); expireFormat.setTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID())); System.out.println(expireFormat.format(utcDate)); } catch (ParseException e) { e.printStackTrace(); } output of the code: Asia/Calcutta 2014-04-01 16:02:00
- Cómo registrar datos de Android Motion Sensors a una tasa fija
- Parse json array android
- TextView en android sólo muestra dos líneas de texto en cualquier orientación
- En java, ¿cómo puedo eliminar una tabla sqlite?
- Convertir InputStream a BufferedReader
- ¿Cómo conectarse a SQLite DB con contraseña con OrmLite?
- UUID.fromString () devuelve un UUID no válido?
- Icu4j es demasiado grande, cualquier alternativa?
El enfoque general está bien si una cadena con formato nuevo es realmente lo que está tratando de obtener.
Hay algunos problemas aunque
-
SimpleDateFormat
no es una clase de threadsafe. ¡Configurarlo en un campo estático dentro de un servidor es un problema! -
Igual que # 1 con respecto a usar un campo estático para sostener el objeto de la fecha intermedio.
-
¿Es "CST" hora estándar de China? Hora estándar central (EE.UU. o Australia)? ¿Hora estándar de Cuba? Las abreviaturas de tres letras TimeZone son malas noticias en general. Trate de usar un Olson Name o Alias si es posible.
-
¿Es este el lado del servidor o el androide? Si se trata de un servidor, probablemente podría beneficiarse de la nueva API Java 8 para el manejo de DateTime.