> For the complete documentation index, see [llms.txt](https://educacion.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://educacion.gitbook.io/programacion/ud3-introducion-a-programacion-orientada-a-obxectos/clases-da-api-de-java/datas-e-horas.md).

# Datas e Horas

A clase **`LocalDateTime`**<i class="fa-copy">:copy:</i> en Java **combina** as funcionalidades de **`LocalDate`**<i class="fa-copy">:copy:</i> **e `LocalTime`**<i class="fa-copy">:copy:</i>, proporcionando unha representación de data e hora sen zona horaria. Isto significa que inclúe ano, mes, día, hora, minuto, segundo e opcionalmente nanosegundos. É útil cando queres traballar cunha data e unha hora xuntas, pero sen ter en conta a zona horaria.

{% hint style="warning" %}
Documentación oficial: <https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/LocalDateTime.html>
{% endhint %}

Contén os métodos tanto de `LocalDate`<i class="fa-copy">:copy:</i> como de `LocalTime`<i class="fa-copy">:copy:</i>.

Para crear un obxecto da clase `LocalDateTime`<i class="fa-copy">:copy:</i>podes utilizar o método estático `of`:

```java
//Firma Método estático of
LocalDateTime.of(int year, int month, int dayOfMonth, int hour, int minute, int second)
```

Podes obter un `LocalDate`<i class="fa-copy">:copy:</i> un `LocalTime`<i class="fa-copy">:copy:</i> a partir dun obxecto `LocalDateTime`<i class="fa-copy">:copy:</i> utilizando os métodos `.toLocalDate()`<i class="fa-copy">:copy:</i> e `.toLocalTime()`<i class="fa-copy">:copy:</i>, respectivamente.

```java
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        // Crear un LocalDateTime
        LocalDateTime dataHora = LocalDateTime.of(2025, 2, 21, 15, 30, 45);

        // Extraer só a data (LocalDate)
        LocalDate data = dataHora.toLocalDate();
        System.out.println("Data: " + data);

        // Extraer só a hora (LocalTime)
        LocalTime hora = dataHora.toLocalTime();
        System.out.println("Hora: " + hora);
    }
}

```

## Exemplo cos métodos principais das clases data e hora

```java
public static void main(String[] args) {

        System.out.println("====FECHA CON HORA====");

        LocalDateTime fechaConHora = LocalDateTime.now();
        System.out.println(fechaConHora);

        LocalDateTime fechaConHora2 = LocalDateTime.of(2025,10,12,12,35,10);
        System.out.println(fechaConHora2);

        System.out.println("====FECHA SIN HORA====");

        LocalDate fechaSinHora = LocalDate.now();
        System.out.println(fechaSinHora);

        LocalDate fechaSinHora2 = LocalDate.of(2025, Month.NOVEMBER,12);
        System.out.println(fechaSinHora2);

        System.out.println("====HORA SIN FECHA====");

        LocalTime horaSinFecha = LocalTime.now();
        System.out.println(horaSinFecha);

        LocalTime horaSinFecha2 = LocalTime.now();
        System.out.println(horaSinFecha);

        System.out.println("====DIA DE LA SEMANA====");

        DayOfWeek diaSemana = fechaConHora.getDayOfWeek();
        System.out.println(diaSemana + " Dia: " +diaSemana + " : " + DayOfWeek.SATURDAY);

        System.out.println("====COMPARAR FECHAS ====");
        boolean anterior = fechaConHora2.isBefore(fechaConHora);
        boolean igual = fechaConHora2.isEqual(fechaConHora);
        boolean posterior = fechaConHora2.isAfter(fechaConHora);

        System.out.println("Es anterior: " + anterior + ", es igual: " + igual + ",posterior: " + posterior);

        long dias = fechaConHora2.until(fechaConHora, ChronoUnit.DAYS);
        long dias2 = fechaConHora.until(fechaConHora2, ChronoUnit.DAYS);
        System.out.println("dias:" + dias + " ,dias2: " + dias2);

        System.out.println("====CONVERSION====");

        LocalTime horaFechaConHora2 = fechaConHora2.toLocalTime();
        LocalDate fechaFechaConHora2 = fechaConHora2.toLocalDate();

        System.out.println("Fecha con Hora:" + fechaConHora2);
        System.out.println("Hora: " + horaFechaConHora2 + " ,Fecha: " + fechaFechaConHora2);

    }
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://educacion.gitbook.io/programacion/ud3-introducion-a-programacion-orientada-a-obxectos/clases-da-api-de-java/datas-e-horas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
