Here you can find the source of monthsBetween(Date firstDate, Date secondDate)
Parameter | Description |
---|---|
firstDate | First date parameter. |
secondDate | Second date parameter. |
public static int monthsBetween(Date firstDate, Date secondDate)
//package com.java2s; /*// w w w . j av a 2 s. c om * (C) Copyright 2009-2013 Manaty SARL (http://manaty.net/) and contributors. * * Licensed under the GNU Public Licence, 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.gnu.org/licenses/gpl-2.0.txt * * 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. */ import java.util.Calendar; import java.util.Date; public class Main { /** * Calculates number of month between two dates. * * @param firstDate * First date parameter. * @param secondDate * Second date parameter. * @return number of month. */ public static int monthsBetween(Date firstDate, Date secondDate) { Date before = null; Date after = null; if (firstDate.after(secondDate)) { after = firstDate; before = secondDate; } else { after = secondDate; before = firstDate; } Calendar cal = Calendar.getInstance(); cal.setTime(before); int beforeMonth = cal.get(Calendar.MONTH); int beforeYear = cal.get(Calendar.YEAR); cal.setTime(after); int afterMonth = cal.get(Calendar.MONTH); int afterYear = cal.get(Calendar.YEAR); return ((afterYear * 12) + afterMonth) - ((beforeYear * 12) + beforeMonth); } }