Android

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.

La función ayudante para obtener fecha y hora en Android

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.

Obtener fecha

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.

Obtener la hora

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.

Invocar función para obtener la fecha y hora en Android

Función que devuelve fecha u hora según el formato

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".

Conclusión

Te invito a ver más sobre Android, Java o Kotlin.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

1 mes hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

1 mes hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

1 mes hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

2 meses hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

3 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

3 meses hace