Java Day End dayBetweenTwoDates(Date beginDate, Date endDate)

Here you can find the source of dayBetweenTwoDates(Date beginDate, Date endDate)

Description

day Between Two Dates

License

Apache License

Declaration

public static int dayBetweenTwoDates(Date beginDate, Date endDate) 

Method Source Code

//package com.java2s;
/**//from   w w w.  j  a  v a2 s  .c  om
 * Copyright 1996-2013 Founder International Co.,Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * @author kenshin
 */

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

public class Main {

    public static int dayBetweenTwoDates(Date beginDate, Date endDate) {
        int days;
        int pnMark = 1;
        if (endDate != null && beginDate != null) {

            Calendar bCalendar = Calendar.getInstance();
            Calendar eCalendar = Calendar.getInstance();
            if (beginDate.after(endDate)) {
                pnMark = -1;
                bCalendar.setTime(endDate);
                eCalendar.setTime(beginDate);
            } else {
                bCalendar.setTime(beginDate);
                eCalendar.setTime(endDate);
            }
            int dayBegin = bCalendar.get(Calendar.DAY_OF_YEAR);
            int dayEnd = eCalendar.get(Calendar.DAY_OF_YEAR);
            days = dayEnd - dayBegin;
            int endYear = eCalendar.get(Calendar.YEAR);
            if (bCalendar.get(Calendar.YEAR) != endYear) {
                bCalendar = (Calendar) bCalendar.clone();
            }
            while (bCalendar.get(Calendar.YEAR) != endYear) {
                days += bCalendar.getActualMaximum(Calendar.DAY_OF_YEAR);
                bCalendar.add(Calendar.YEAR, 1);
            }
        } else
            days = 0;

        return days * pnMark;
    }
}

Related

  1. checkTimePeriod(final Date beginHour, final Date endHour, final Date hour)
  2. countDaysBetween(Date start, Date end)
  3. countMonths(java.util.Date startDate, java.util.Date endDate)
  4. dateBetweens(Date start, Date end)
  5. dateSpan(Date beginDate, Date endDate)
  6. dayEnd(Date dt)
  7. dayEnd(final Date date)
  8. daysOfTwoDate(Date beginDate, Date endDate)
  9. dayValue(Date date, boolean startEnd)