package com.trifulcas.fechas; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Arrays; public class EjerciciosFechas { public static void main(String[] args) { // TODO Auto-generated method stub LocalDate cumple = LocalDate.of(2024, 8, 13); System.out.println(cumple.format(DateTimeFormatter.ofPattern("MM/d/yyyy"))); System.out.println(cuantoFalta(cumple)); System.out.println(Arrays.toString(primerosDeMes(2025))); System.out.println(esFinDeSemanaAnglo("06/01/2024")); System.out.println(esFinDeSemanaEsp("04/06/2024")); } // Crear una función cuantoFalta(fecha) a la que le pasamos una fecha // y nos devuelve cuantos días faltan hasta esa fecha static long cuantoFalta(LocalDate fecha) { return ChronoUnit.DAYS.between(LocalDate.now(), fecha); } // Crear una función primerosDeMes(anyo) que nos devuelva una array con las // fechas // de los primeros de mes de ese año (1 de enero, 1 de febrero, 1 de marzo...) // Devuelvo un array de fechas, le paso un int con el año static LocalDate[] primerosDeMes(int anyo) { // La sintaxis de un array es tipo nombre_variable= new tipo[tamaño] LocalDate[] fechas = new LocalDate[12]; // ¿Por qué 12? Porque son 12 meses // ¿Cómo creo yo un array con los primeros de mes? // (0) 1-1-2024, (1) 1-2-2024, (2) 1-3-2024... for (int i = 1; i <= 12; i++) { fechas[i - 1] = LocalDate.of(anyo, i, 1); } return fechas; } // Crear una función a la que le pasamos una cadena con una fecha en formato // "año-mes-dia" y nos devuelve true si es fin de semana y false en caso // contrario // esFinDeSemana(cadena) static boolean esFinDeSemanaEsp(String cadena) { // Convertir la cadena a fecha LocalDate fechaConvertida = LocalDate.parse(cadena, DateTimeFormatter.ofPattern("dd/MM/yyyy")); // Saber el día de la semana int diaSemana = fechaConvertida.getDayOfWeek().ordinal(); // Si es sábado o domingo devolver true y si no false return diaSemana >= 5; } static boolean esFinDeSemanaAnglo(String cadena) { // Convertir la cadena a fecha LocalDate fechaConvertida = LocalDate.parse(cadena, DateTimeFormatter.ofPattern("MM/dd/yyyy")); // Saber el día de la semana int diaSemana = fechaConvertida.getDayOfWeek().ordinal(); // Si es sábado o domingo devolver true y si no false return diaSemana >= 5; } }