Calender 学习

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

/**
 * @author ken
 * @Time 2011-12-18
 * 
 */
public class CalenderUtil {
	public static void main(String[] args) throws ParseException {
		//以取当天所在月份为例 
		List<String> list = AllDayOfMonth(new java.text.SimpleDateFormat(
				"yyyy-MM").parse("2011-12-18"));
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		System.out.println(isLeapYear(2011));
	}

	public static List<String> AllDayOfMonth(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.set(Calendar.DATE, 1);//当月第一天
		System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime())));
		c.set(Calendar.HOUR_OF_DAY, 0);
		c.set(Calendar.MINUTE, 0);
		c.set(Calendar.SECOND, 0);
		c.set(Calendar.MILLISECOND, 0);
		int firstday = c.get(Calendar.DAY_OF_MONTH); //当月第一天
		System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime())));
		
		Calendar lc = Calendar.getInstance();
		lc.setTime(date);
		lc.add(Calendar.MONTH, 1);//月份加1
		lc.set(Calendar.DATE, 0);//再减一天即是上月最后一天
		lc.set(Calendar.HOUR_OF_DAY, 23);
		lc.set(Calendar.MINUTE, 59);
		lc.set(Calendar.SECOND, 59);
		lc.set(Calendar.MILLISECOND, 999);
		int lastday = lc.get(Calendar.DAY_OF_MONTH);
		System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd  HH:mm:ss").format(lc.getTime())));

		Calendar nowDate = Calendar.getInstance();
		nowDate.setTime(date);
		List<String> list = new ArrayList<String>();
		for (int i = 1; i < 2 + lastday - firstday; i++) {
			nowDate.set(Calendar.DAY_OF_MONTH, i);
			list.add(new java.text.SimpleDateFormat("yyyy-MM-dd").format(nowDate.getTime()));
		}
		return list;
	}
	
	/**
	 * 是否闰年
	 * 
	 * @param year
	 * @return
	 */
	public static boolean isLeapYear(int year) {
		//return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
		return new GregorianCalendar().isLeapYear(year);
	}
}
 

你可能感兴趣的:(java.calender)