天天看點

java擷取時間差

public static Integer getDifferenceDay(Date startDate) {   // startDate 為傳入時間

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(startDate);

    int day = calendar.get(Calendar.DAY_OF_YEAR);

    int year = calendar.get(Calendar.YEAR);

    //獲得目前日期  天 -年

    Calendar curCalendar = Calendar.getInstance();

    int curDay = curCalendar.get(Calendar.DAY_OF_YEAR);

    int cyrYear = curCalendar.get(Calendar.YEAR);

    //相差時間

    int differenceDay = 0;

    if (year != cyrYear)   //同一年

    {

        int timeDistance = 0;                 

        for (int i = year; i < cyrYear; i++) {  //如果1年就加365天 不考慮閏年

            timeDistance += 365;

        }

        differenceDay = timeDistance + (curDay - day);

    } else    //不同年

    {

        differenceDay = curDay - day;

    }

    return differenceDay;

getDifferenceDay() 計算距離現在時間相隔多少天 如果是String 轉換下即可 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = sdf.parse(kvDate);