En este post te mostraré cómo obtener la fecha y hora actual en Android, usando la zona horaria que tú prefieras. Para ello vamos a usar SimpleDateFormat
y cualquier formato válido.
Primero veamos una función que nos dará cualquier fecha u hora según el formato que especifiquemos, así como la zona horaria.
Queda así:
@SuppressLint("SimpleDateFormat")
public static String obtenerFechaConFormato(String formato, String zonaHoraria) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
SimpleDateFormat sdf;
sdf = new SimpleDateFormat(formato);
sdf.setTimeZone(TimeZone.getTimeZone(zonaHoraria));
return sdf.format(date);
}
La función devolverá el tiempo actual según el formato y zona horaria. Veamos las otras funciones.
Para obtener solo la fecha, la invocamos así:
public static String obtenerFechaActual(String zonaHoraria) {
String formato = "yyyy-MM-dd";
return obtenerFechaConFormato(formato, zonaHoraria);
}
Si te preocupa la zona horaria, tranquilo, en un momento la veremos. En este caso obtendríamos la fecha en formato yyyy-MM-dd
es decir, algo como 2020-01-16, pero puedes usar otro formato si quieres.
Del mismo modo tenemos una función que invoca a la primera que vimos en este post. Para obtenerla se hace lo siguiente:
public static String obtenerHoraActual(String zonaHoraria) {
String formato = "HH:mm:ss";
return obtenerFechaConFormato(formato, zonaHoraria);
}
Lo único que cambia es el formato, ahora es HH:mm:ss
que daría algo como 15:45:20, de igual forma veremos la zona horaria más tarde.
Yo tengo todos estos métodos en una clase llamado Utiles
, y queda así:
class Utiles {
public static String obtenerHoraActual(String zonaHoraria) {
String formato = "HH:mm:ss";
return Utiles.obtenerFechaConFormato(formato, zonaHoraria);
}
public static String obtenerFechaActual(String zonaHoraria) {
String formato = "yyyy-MM-dd";
return Utiles.obtenerFechaConFormato(formato, zonaHoraria);
}
@SuppressLint("SimpleDateFormat")
public static String obtenerFechaConFormato(String formato, String zonaHoraria) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
SimpleDateFormat sdf;
sdf = new SimpleDateFormat(formato);
sdf.setTimeZone(TimeZone.getTimeZone(zonaHoraria));
return sdf.format(date);
}
}
Ahora, cada que quiero obtenerla simplemente hago:
Utiles.obtenerFechaActual("America/Mexico_City");
Utiles.obtenerHoraActual("America/Mexico_City");
Sobre la zona horaria es de México, pero por ejemplo, para España utilizo "GMT+1"
.
Te invito a ver más sobre Android, Java o Kotlin.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.