package pl.edu.uwm.wmii.dobrenkocezary.labolatoria07; import java.time.Instant; import java.time.LocalDate; import java.time.Month; import java.time.ZoneId; import java.util.Date; public class Osoba implements Comparable { private String nazwisko; private LocalDate dataUrodzenia; Date date = new Date(); Instant instant = date.toInstant(); ZoneId defaultZoneId = ZoneId.systemDefault(); LocalDate localDate = instant.atZone(defaultZoneId).toLocalDate(); Osoba(String nazwisko, LocalDate dataur){ this.nazwisko = nazwisko; this.dataUrodzenia = dataur; } public int compareTo(Osoba target){ int cmp = 0; if (target.nazwisko != this.nazwisko){ cmp++; } if (target.dataUrodzenia.compareTo(this.dataUrodzenia) != 0){ cmp++; } return cmp; } public Boolean equals(Osoba t){ if (this.nazwisko != t.nazwisko || this.dataUrodzenia.compareTo(t.dataUrodzenia) != 0){ return false; } return true; } public String toString(){ String result = ""; result += getClass().getName(); result += (" [" + this.nazwisko + "][" + dataUrodzenia.toString() + "]"); return result; } public int ileLat(){ int x = dataUrodzenia.getYear(); int y = localDate.getYear(); return (y - x); } public int ileMiesiecy(){ Month x = dataUrodzenia.getMonth(); Month y = localDate.getMonth(); int data1 = change(x); int data2 = change(y); return data2-data1; } public int change(Month x){ String[] tab = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; for(int i = 1; i < tab.length+1; i++){ String test1 = tab[i].toUpperCase(); String test2 = x.toString(); if(test1.equals(test2) == true){ return i; } } return 0; } public int ileDni(){ int x = dataUrodzenia.getDayOfYear(); int y = localDate.getDayOfYear(); return (y - x); } }