1. 程式人生 > 實用技巧 >java計算工齡

java計算工齡

import java.util.Date;
import java.util.Calendar;

public int workAge(Date nowTime, Date workTime){
    int year = 0;
    //當前時間的年月日
    Calendar cal = Calendar.getInstance();
    cal.setTime(nowTime);
    int nowYear = cal.get(Calendar.YEAR);
    int nowMonth = cal.get(Calendar.MONTH);
    int nowDay = cal.get(Calendar.DAY_OF_MONTH);

    //開始工作時間的年月日
    cal.setTime(workTime);
    int workYear = cal.get(Calendar.YEAR);
    int workMonth = cal.get(Calendar.MONTH);
    int workDay = cal.get(Calendar.DAY_OF_MONTH);

    //得到工齡
    year = nowYear - workYear; //得到年差
    //若目前月數少於開始工作時間的月數,年差-1
    if (nowMonth < workMonth){
        year  = year - 1;
    }else if (nowMonth == workMonth){
        //當月數相等時,判斷日數,若當月的日數小於開始工作時間的日數,年差-1
        if (nowDay < workDay){
            year = year - 1;
        }
    }

    return year;
}