Advertisement
daniel199410

Periodo entre fechas

Jun 2nd, 2013 (edited)
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.88 KB | None | 0 0
  1. import java.time.LocalDate;
  2. import java.time.Period;
  3.  
  4. public class MyClass {
  5.  
  6.   public static void main(String[] args) {
  7.  
  8.       LocalDate date1 = LocalDate.of(2003, 7, 25);
  9.       System.out.println("Is 6 months older? " + isOlderThanYears(date1, 18));
  10.  
  11.       LocalDate date2 = LocalDate.of(2020, 9, 26);
  12.       System.out.println("Is 6 months older? " + isOlderThanYears(date2, 18));
  13.  
  14.       LocalDate date3 = LocalDate.of(2020, 10, 26);
  15.       System.out.println("Is 6 months older? " + isOlderThanYears(date3, 18));
  16.  
  17.       LocalDate date4 = LocalDate.of(2001, 10, 26);
  18.       System.out.println("Is 6 months older? " + isOlderThanYears(date4, 18));
  19.  
  20.   }
  21.  
  22.   static boolean isOlderThanMonths(final LocalDate date, final int months) {
  23.  
  24.       boolean result = false;
  25.  
  26.       LocalDate now = LocalDate.now();
  27.       // period from now to date
  28.       Period period = Period.between(now, date);
  29.  
  30.       System.out.println("\nNow: " + now);
  31.       System.out.println("Date: " + date);
  32.       System.out.printf("%d years, %d months, %d days%n",
  33.               period.getYears(), period.getMonths(), period.getDays());
  34.  
  35.       if (period.getYears() < 0) {
  36.           // if year is negative, 100% older than 6 months
  37.           result = true;
  38.       } else if (period.getYears() == 0) {
  39.           if (period.getMonths() <= -months) {
  40.               result = true;
  41.           }
  42.       }
  43.  
  44.       return result;
  45.  
  46.   }
  47.  
  48.   static boolean isOlderThanYears(final LocalDate date, final int years) {
  49.       boolean result = false;
  50.       LocalDate now = LocalDate.now();
  51.       // period from now to date
  52.       Period period = Period.between(date, now);
  53.       System.out.println("\nNow: " + now);
  54.       System.out.println("Date: " + date);
  55.       System.out.printf("%d years, %d months, %d days%n", period.getYears(), period.getMonths(), period.getDays());
  56.       return period.getYears() >= years;
  57.   }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement