Convirtiendo una fecha en una cadena de texto

Java:
Convirtiendo una fecha en una cadena de texto

How to:

(Cómo hacerlo:)

Java proporciona la clase SimpleDateFormat para convertir fechas a texto. Aquí está la forma de hacerlo:

import java.text.SimpleDateFormat;
import java.util.Date;

public class FechaComoCadena {
    public static void main(String[] args) {
        Date ahora = new Date();
        SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        String fechaComoTexto = formato.format(ahora);
        System.out.println(fechaComoTexto);
    }
}

Salida de muestra:

05-04-2023 16:45:12

Desde Java 8 en adelante, puedes usar la API DateTimeFormatter:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class FechaComoCadena {
    public static void main(String[] args) {
        LocalDateTime ahora = LocalDateTime.now();
        DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
        String fechaComoTexto = ahora.format(formato);
        System.out.println(fechaComoTexto);
    }
}

Salida de muestra:

05-04-2023 16:45:12

Deep Dive:

(Buceando más profundo:)

Inicialmente, Java utilizaba la clase SimpleDateFormat para formatear fechas, pero tenía problemas con la seguridad de hilos y la inmutabilidad. Con Java 8 se introdujo la API java.time, la cual es más segura y flexible. Por ejemplo, DateTimeFormatter es inmutable y seguro para hilos.

Alternativas incluyen usar DateFormat de Apache Commons Lang o bibliotecas de terceros como Joda-Time, aunque Joda-Time ahora está en modo mantenimiento debido a la nueva API java.time.

Detalles de implementación importantes: siempre especifica un Locale si tu aplicación será usada en múltiples regiones, para evitar malentendidos con el formato.

See Also:

(Ver También:)