es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambiando el formato de fecha para un día específico en Java.

Quiero escribir la fecha de hoy en el siguiente formato utilizando SimpleDateFormat:

Hoy, 13:14

En otros días, quiero mostrarlo como fecha y hora:

06.12.2021, 12:59

Puedo escribirlo en formato de fecha y hora para días anteriores, pero no en el formato “Hoy [HORA]” durante el día.

textViewDate.setText(new SimpleDateFormat(“dd.MM.yyyy HH:mm”))

Por favor, guíame. Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes lograr esto utilizando una declaración if-else para verificar si la fecha actual es la fecha de hoy.

    Aquí tienes un ejemplo:

    // Obtener la fecha de hoy
    Date today = new Date();
    
    // Crear un objeto SimpleDateFormat para el formato "Hoy [HORA]"
    SimpleDateFormat todayDateFormat = new SimpleDateFormat("'Hoy,' HH:mm");
    
    // Crear un objeto SimpleDateFormat para el formato de fecha y hora
    SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
    
    // Verificar si la fecha de hoy coincide con la fecha en textView
    if (todayDateFormat.format(today).equals(textViewDate.getText().toString())) {
        // Establecer textViewDate para mostrar la fecha de hoy en el formato "Hoy [HORA]"
        textViewDate.setText(todayDateFormat.format(today));
    } else {
        // Establecer textViewDate para mostrar la fecha y hora en el formato "dd.MM.yyyy, HH:mm"
        textViewDate.setText(dateTimeFormat.format(date));
    }
    

    Este código primero obtiene la fecha de hoy utilizando la clase Date. Luego crea dos objetos SimpleDateFormat: uno para el formato “Hoy [HORA]” y otro para el formato de fecha y hora.

    A continuación, verifica si la fecha de hoy coincide con la fecha que ya está en textViewDate. Si lo hace, establece textViewDate para mostrar la fecha de hoy en el formato “Hoy [HORA]” utilizando el método todayDateFormat.format().

    Si la fecha de hoy no coincide con la fecha en textViewDate, establece textViewDate para mostrar la fecha y hora en el formato “dd.MM.yyyy, HH:mm” utilizando el método dateTimeFormat.format().

    ¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.