public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.println("Introduce tu fecha de cumpleaños en formato ISO"); String f=in.next(); LocalDate fecha = LocalDate.parse(f); System.out.println("Naciste en "+fecha.getDayOfWeek()); fecha=LocalDate.now(); System.out.println("Mañana será "+fecha.plusDays(1)); System.out.println("La semana que viene será "+fecha.plusWeeks(1)); System.out.println("El año que viene será "+fecha.plusYears(1)); System.out.println("Hoy es el dia "+dia(LocalDate.now())+" del mes"); } public static int dia(LocalDate fecha) { return fecha.getDayOfMonth(); }
public static void main(String[] args) { // Para crear una variable que permita guardar una fecha usamos // LocalDate // fecha Tiene el día de hoy LocalDate tiene algunos métodos estáticos // Y uno de ellos es now() que nos devuelve la fecha de hoy LocalDate fecha = LocalDate.now(); // Otra manera de crear una fecha es utilizar of // Usa de parámetros: año, mes y día LocalDate fecha2 = LocalDate.of(2019, 02, 20); // Otra manera más es utilizar parse que intenta convertir // Una cadena en una fecha LocalDate fecha3 = LocalDate.parse("2015-08-10"); System.out.println(fecha); // Imprimir en formato ISO (estándar, como el mysql) System.out.println(fecha.format(DateTimeFormatter.ISO_DATE)); System.out.println(fecha.format(DateTimeFormatter.ISO_LOCAL_DATE)); // Formatear con un patrón definido (dd-MM-yyy) System.out.println(fecha.format(DateTimeFormatter.ofPattern("dd-MM-yyy"))); // Formatear como lo tengamos configurado en el sistema (y tenemos largo, medio // o corto) System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT))); System.out.println(fecha2); System.out.println(fecha3); // A una fecha le puedo añadir o quitar días, meses, semanas y años LocalDate manyana = LocalDate.now().plusDays(1); LocalDate ayer = LocalDate.now().minusDays(1); LocalDate semana_que_viene = LocalDate.now().plusWeeks(1); System.out.println(manyana); System.out.println(ayer); System.out.println(semana_que_viene); // Puedo añadir o restar unidades de tiempo LocalDate mesAnterior = LocalDate.now().minus(1, ChronoUnit.MONTHS); // Podemos añadir Periodos que es parecido: permite añadir // meses, dias, años o combinaciones LocalDate finalDate = manyana.plus(Period.ofDays(5)); System.out.println(finalDate); System.out.println(mesAnterior); // Puedo obtener de una fecha cualquier valor que me interese // El día de la semana es una clase que nos permite obtener el nombre // Y el número DayOfWeek dia = LocalDate.parse("2016-06-12").getDayOfWeek(); // El día del mes es un entero int mes = LocalDate.parse("2016-06-12").getDayOfMonth(); // En el caso de los meses int m = LocalDate.parse("2016-06-12").getMonthValue(); Month mon = LocalDate.parse("2016-06-12").getMonth(); // Las clases DayOfWeek y Month nos permiten recuperar el nombre // Del día de la semana y del mes (en inglés) pero también // Su número System.out.println(dia); System.out.println(dia.ordinal()); System.out.println(mes); System.out.println(m); System.out.println(mon); System.out.println(mon.ordinal()); // Saber si un año es bisiesto boolean bisiesto = LocalDate.now().isLeapYear(); System.out.println(bisiesto); boolean antes = LocalDate.parse("2016-06-12").isBefore(LocalDate.parse("2016-06-11")); System.out.println(antes); boolean despues = LocalDate.parse("2016-06-12").isAfter(LocalDate.parse("2016-06-11")); System.out.println(despues); // El with nos permite obtener el primer día y el último del mes LocalDate primerDiaMes = LocalDate.parse("2016-06-12").with(TemporalAdjusters.firstDayOfMonth()); System.out.println(primerDiaMes); // Formato de fecha Y hora LocalDateTime fechaHora = LocalDateTime.parse("2016-06-12T10:00"); System.out.println(fechaHora); System.out.println(fechaHora.format(DateTimeFormatter.ofPattern("dd-MM-yyy HH:mm"))); System.out.println(fechaHora.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM))); System.out.println(fechaHora.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT))); LocalDateTime inicioDia = LocalDate.parse("2016-06-12").atStartOfDay(); System.out.println(inicioDia); // También tenemos la clase sólo para la hora LocalTime ahora = LocalTime.now(); System.out.println(ahora); // Podemos obtenerla de una cadena LocalTime seisYMedia = LocalTime.parse("06:30"); System.out.println(seisYMedia); // Podemos indicar hora, minutos y segundos LocalTime seisYMedia2 = LocalTime.of(6, 30); System.out.println(seisYMedia2); LocalTime seisYMedia3 = LocalTime.of(6, 30,15); System.out.println(seisYMedia3); //Podemos añadir Cronounidades LocalTime sieteYMedia = LocalTime.parse("06:30").plus(1, ChronoUnit.HOURS); System.out.println(sieteYMedia); // Podemos añadir duraciones, lo que en Date es Period LocalTime siete = seisYMedia.plus(Duration.ofMinutes(30)); System.out.println(siete); }
public static void main(String[] args) { Scanner in=new Scanner(System.in); // ¿En qué día caen los primeros de cada mes este año? for(int i=1;i<12;i++) { LocalDate fecha= LocalDate.of(2021, i, 1); System.out.println(fecha.getDayOfWeek()); System.out.println(finDeSemana(fecha)); } System.out.println("Introduce fecha factura"); String f=in.next(); System.out.println("El vencimiento es dentro de 15 días:"); LocalDate fecha=LocalDate.parse(f).plusDays(15); System.out.println(fecha.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM))); System.out.println(fecha.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT))); if (finDeSemana(fecha)) { System.out.println("Que cae en fin de semana"); } } // Función que nos diga si un día concreto es un fin de semana public static boolean finDeSemana(LocalDate fecha) { return fecha.getDayOfWeek()==DayOfWeek.SATURDAY || fecha.getDayOfWeek()==DayOfWeek.SUNDAY; } public static int dia(LocalDate fecha) { return fecha.getDayOfMonth(); }