/*
 * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
 */
package kr.co.zumo.app.lifeplus.util;

import java.util.Calendar;

/**
 * DateUtil
 * <pre>
 * </pre>
 *
 * @author 민효동
 * @version 1.0
 * @history 민효동   [2018. 9. 18.]   [최초 작성]
 * @since 2018. 9. 18.
 */
public class DateUtil {

  /**
   * 제한 나이보다 이상인지 판단한다.
   * <p>
   * (1970)
   * |----------------------| 14 (minAge 의 기준 날짜, 오늘 - 14년, 2018.9.18 이라면 2014.9.18)
   * |-------------------|    20 (입력 생년월일, 만 20)
   * <p>
   * 기준 날짜보다 생년월일이 작거나 같다면 통과
   *
   * @param minAge         제한 나이
   * @param birthdayMillis 생일의 밀리세컨드
   * @return boolean
   */
  public static boolean minAge(int minAge, long birthdayMillis) {
    /**
     * 생일
     */
    // 오늘 날짜
    Calendar dDay = Calendar.getInstance();
    // 나이(minAge)를 빼서 기준 연도를 설정함
    dDay.set(Calendar.YEAR, dDay.get(Calendar.YEAR) - minAge);
    long dDayMillis = dDay.getTimeInMillis();
    // min age 만큼의 날짜
    long dDayDate = dDayMillis / 1000 / 60 / 60 / 24;

    // 생일의 날짜
    long birthdayDate = birthdayMillis / 1000 / 60 / 60 / 24;

    // 만 나이(minAge)의 날짜와 같거나 작으면 통과
    return birthdayDate <= dDayDate;
  }
}
