Skip to content
Snippets Groups Projects
Person.java 1.27 KiB
package lab;

import java.time.Duration;
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;

public class Person {

	private String firstName;
	private String lastName;
	private LocalDate dayOfBirth;

	public Person(String firstName, String lastName, LocalDate dayOfBirth) {
		super();
		this.firstName = firstName;
		this.lastName = lastName;
		this.dayOfBirth = dayOfBirth;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getFirstName() {
		return firstName;
	}

	public LocalDate getDayOfBirth() {
		return dayOfBirth;
	}
	
	public int getAge() {
		return Period.between(dayOfBirth, LocalDate.now()).getYears();
	}
	
	public static void main(String[] args) {
		Person p = new Person("", "", LocalDate.now().minusDays(3700));
		System.out.println(p.getAge());
		System.out.println(p.getDaysToBirthday());
	}
	public LocalDate get50thBirthDay() {
		return dayOfBirth.plusYears(50);
	}
	
	public long getDaysToBirthday() {
		LocalDate nextBirthday = dayOfBirth.withYear(LocalDate.now().getYear());
		if(nextBirthday.isBefore(LocalDate.now())){
			nextBirthday = nextBirthday.plusYears(1);
		}
		return ChronoUnit.DAYS.between(LocalDate.now(), nextBirthday);
	}
}