Obtener fecha y hora en Android
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.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.