Generalidades

Convierta la cadena TZ a otra zona horaria en Android | Via Ragesh R | Diciembre de 2021

Se encontró un problema, el servidor está enviando todas las fechas. Formato. El servidor está guardando todas las fechas en formato UTC.

Tengo que convertir estas cadenas en un formato de fecha legible y mostrar la zona horaria. La zona horaria puede ser cualquier nombre de zona en la base de datos de TZ.

Entonces, para este ejemplo, suponga que el área que necesito convertir es Esta es la hora del Pacífico.Escribí la función de ayuda a continuación

fun getReadableDateFromTZString(
tzDateString: String?,
timeZoneString: String?,
timeAlso: Boolean = false
): String {
try {
tzDateString?.let {
val dateFormat = SimpleDateFormat(
TZ_FORMAT_MILLIS, Locale.getDefault()
)
val dateFromString = dateFormat.parse(it)
dateFromString?.let {val date = itif (timeZoneString != null) {
val timeZone = TimeZone.getTimeZone(timeZoneString)
val timeInMillis = it.time
val convertedTime = timeInMillis +
timeZone.getOffset(timeInMillis)
date.time = convertedTime
}

val pattern: String =
if (timeAlso)
"MM.dd.yyyy h:mm aa"
else
"MM.dd.yyyy"

val simpleDateFormat = SimpleDateFormat(pattern, Locale.getDefault())
val dateOnly = simpleDateFormat.format(date).toString()
return dateOnly
}
}
} catch (e: Exception) {
e.printStackTrace()
}
return ""
}

  • tzDateString -> La cadena de fecha tz que se va a convertir.
  • timeZoneString -> La zona horaria a la que necesitamos convertir la hora. Antes ->
  • timeAlso -> Si la cadena de fecha legible también necesita mostrar la hora, entonces establecemos este valor booleano en verdadero.

Esta función convierte la cadena tz en un objeto de fecha. Si también pasamos la zona horaria a convertir, calculamos el desplazamiento de esta zona horaria con respecto a la zona horaria local actual.Haz esto porque Camino java.util.Date No hay un estado de zona horaria interna y solo se hace referencia a UTC a través de la especificación de una manera que el usuario no puede cambiar.

Espero que esto sea de ayuda. Si hay una manera más fácil de hacer esto, o si cree que esta lógica es problemática, no dude en dejar un comentario.

Codificación feliz

LEER  Android WebView: realizar cambios en la apariencia de la interfaz de usuario | Autor: Vahé Khachaturian | Noviembre de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba