package lezione11; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Month; import java.time.Period; import java.time.temporal.ChronoUnit; public class Slide14 { public static void main(String[] args) { /* * Costruzione oggetto */ LocalDate data = LocalDate.now(); System.out.println(data); data = LocalDate.of(1987, Month.MARCH, 12); // La classe 'Month' ha un campo pubblico per ogni mese System.out.println(data); LocalTime tempo = LocalTime.now(); System.out.println(tempo); tempo = LocalTime.of(1, 2, 3); // ore, minuti, secondi System.out.println(tempo); tempo = LocalTime.NOON; // mezzogiorno System.out.println(tempo); tempo = LocalTime.MIDNIGHT; // mezzanotte System.out.println(tempo); LocalDateTime tempoEdata = LocalDateTime.now(); System.out.println(tempoEdata); tempoEdata = LocalDateTime.of(data, tempo); System.out.println(tempoEdata); /* * Utilizzo */ System.out.println(tempoEdata.getHour()); System.out.println(tempoEdata.getMonth()); System.out.println(tempoEdata.isAfter(LocalDateTime.now())); System.out.println(tempoEdata.plusDays(5)); System.out.println(tempoEdata.plus(3, ChronoUnit.HOURS)); // La classe 'ChronoUnit' ha un campo pubblico per ogni unità di tempo System.out.println(tempo.getSecond()); System.out.println(tempo.isBefore(LocalTime.now())); System.out.println(data.getDayOfWeek()); System.out.println(data.isLeapYear()); // bisestile? System.out.println(data.lengthOfMonth()); LocalDate futuro = LocalDate.now().plusMonths(1); Period p = data.until(futuro); // La classe 'Period' esprime un periodo di tempo in anni, mesi, giorni. L'equivalente in ore, minuti, secondi è la classe 'Duration' System.out.println(p.getYears() + " years, " + p.getMonths() + " months, " + p.getDays() + " days"); } }