Here you can find the source of getMonthlyIntervals(Date start, Date end)
public static List<Date> getMonthlyIntervals(Date start, Date end)
//package com.java2s; /*/*ww w . j a v a2s . c o m*/ * Copyright (C) 2012 The Stanford MobiSocial Laboratory * * 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. */ import java.util.*; public class Main { public static List<Date> getMonthlyIntervals(Date start, Date end) { List<Date> intervals = new ArrayList<Date>(); GregorianCalendar c = new GregorianCalendar(); c.setTime(start); int startMonth = c.get(Calendar.MONTH); int year = c.get(Calendar.YEAR); int month = startMonth; intervals.add(start); while (true) { month++; if (month == 12) { month = 0; year++; } c = new GregorianCalendar(year, month, 1, 0, 0, 0); intervals.add(c.getTime()); if (c.getTime().after(end)) break; } return intervals; } }