TIEMPO
Java maneja el tiempo principalmente con la
API java.time (introducida en Java 8), que ofrece clases inmutables y
thread-safe para fechas, horas y duraciones, reemplazando las obsoletas Date y
Calendar. Estas clases evitan problemas comunes como mutabilidad y zonas
horarias ambiguas.
Clases
Principales
LocalDate: Representa una fecha sin hora
(ej: 2026-02-18).
LocalTime: Representa una hora sin fecha
(ej: 07:04:00).
LocalDateTime: Combina fecha y hora sin
zona horaria.
Instant: Punto en el tiempo en UTC
(nanosegundos desde epoch).
ZonedDateTime: Fecha/hora con zona horaria
específica.
Duraciones y Períodos
Duration mide tiempo en unidades como
segundos/nanos (para horas/minutos). Period mide en años/meses/días
(calendáricos)
CODIGO:
public
class EjemploTiempo {
public static void main(String[] args) {
//
LocalDateTime actual
LocalDateTime ahora = LocalDateTime.now();
System.out.println("Ahora: " + ahora);
// Duración entre dos tiempos
LocalTime inicio = LocalTime.of(9, 0);
LocalTime fin = LocalTime.of(10, 30);
Duration duracion = Duration.between(inicio, fin);
System.out.println("Duración: " + duracion.toMinutes() +
" minutos");
// Periodo entre fechas
LocalDate hoy = LocalDate.now();
LocalDate futuro = hoy.plusMonths(3);
Period periodo = Period.between(hoy, futuro);
System.out.println("Periodo:
" + periodo.getMonths() + " meses");
// Instant (UTC)
Instant epoch = Instant.now();
System.out.println("Instant:
" + epoch);
}
}
Operaciones Comunes
Agrega/resta tiempo
con plusX()/minusX(), formatea con DateTimeFormatter y parsea
con parse(). Ejemplo
de formateo:
CODIGO:
String texto = ahora.format(fmt); // "18/02/2026 07:04"
LocalDateTime parseada =
LocalDateTime.parse(texto, fmt);
No hay comentarios.:
Publicar un comentario