0Pricing
Java Academy · Lección

Formateo con DateTimeFormatter

Analice y formatee fechas

Formateo con DateTimeFormatter es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.

Convertir fechas en texto

El toString predeterminado de una fecha la imprime en formato ISO. Para controlar su apariencia o analizar texto que no esté en formato ISO, use DateTimeFormatter del paquete java.time.format.

Un patrón personalizado

Cree un formateador con ofPattern. Las letras representan campos: yyyy para el año, MM para el mes y dd para el día.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        System.out.println(date.format(f));
    }
}

Formatear la hora

Los patrones de hora usan HH para las horas en formato de 24 horas, mm para los minutos y ss para los segundos.

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(14, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("HH:mm:ss");
        System.out.println(time.format(f));
    }
}

Combinar fecha y hora

Un patrón puede incluir campos de fecha y hora para un LocalDateTime.

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

public class Main {
    public static void main(String[] args) {
        LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        System.out.println(dt.format(f));
    }
}

Nombres de meses en texto

Repetir la letra del mes cambia su formato: MM es un número, MMM es un nombre abreviado como may y MMMM es el nombre completo.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.ENGLISH);
        System.out.println(date.format(f));
    }
}

Nombres de los días de la semana

Use EEEE para el nombre completo del día de la semana y EEE para la forma abreviada. Proporcione un Locale para garantizar un idioma predecible.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("EEEE, dd MMM", Locale.ENGLISH);
        System.out.println(date.format(f));
    }
}

Reloj de doce horas

Use hh en minúsculas para las horas en formato de 12 horas y a para el indicador de AM o PM.

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(15, 30);
        DateTimeFormatter f = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
        System.out.println(time.format(f));
    }
}

Analizar con un patrón

El mismo formateador puede analizar el texto y convertirlo de nuevo en una fecha. Páselo como segundo argumento a parse.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        LocalDate date = LocalDate.parse("30/05/2026", f);
        System.out.println(date.getMonth());
    }
}

Gestionar entradas incorrectas

Si el texto no coincide con el patrón, el análisis lanza una DateTimeParseException. Encierre el análisis que pueda fallar en un bloque try-catch.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static void main(String[] args) {
        DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        try {
            LocalDate.parse("not a date", f);
        } catch (DateTimeParseException e) {
            System.out.println("Invalid date format!");
        }
    }
}

Formateadores integrados

Para necesidades habituales, puede omitir los patrones y usar formateadores predefinidos como DateTimeFormatter.ISO_DATE.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.format(DateTimeFormatter.ISO_DATE));
    }
}

Reutilizar los formateadores

DateTimeFormatter es inmutable y seguro para subprocesos, por lo que puede crearlo una vez y reutilizarlo. Proporcione siempre un Locale cuando intervengan nombres para mantener la coherencia de la salida.

Comprobación rápida

Compruebe sus conocimientos sobre el formateo.

Resumen

Ha aprendido a formatear fechas y horas:

  • DateTimeFormatter.ofPattern define una salida personalizada
  • Las letras se asignan a campos: yyyy, MM, dd, HH, mm
  • Repetir más veces las letras proporciona formas textuales como MMMM y EEEE
  • El mismo formateador analiza el texto y lanza DateTimeParseException si la entrada es incorrecta
  • Los formateadores son inmutables y reutilizables; proporcione un Locale para los nombres

Preguntas frecuentes

¿La lección «Formateo con DateTimeFormatter» es gratis?

Sí — el texto completo de «Formateo con DateTimeFormatter» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Formateo con DateTimeFormatter»?

Analice y formatee fechas Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Formateo con DateTimeFormatter»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant y Duration
  3. Period y aritmética de fechas
  4. Formateo con DateTimeFormatter
← Volver a Java Academy