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:)
- 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/