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:12Desde 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:12Deep 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:)
- Java API Specification for
SimpleDateFormat: https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html - Java API Specification for
DateTimeFormatter: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html - Apache Commons Lang
DateFormatUtils: https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DateFormatUtils.html - Joda-Time – Home page: http://www.joda.org/joda-time/