Calendar
public abstract class Calendar extends Object
implements Serializable, Cloneable, Comparable
所述Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields如YEAR , MONTH , DAY_OF_MONTH , HOUR ,等等,以及用于操纵该日历字段,如获取的日期下个星期。 时间上的瞬间可以用毫秒值表示,该值是从1970年1月1日00:00 00:00.000 GMT(Gregorian)的Epoch的偏移量。
常用方法:
// 获取Calendar的对象 返回系统当前的日历对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
// 获取年月日时分秒
int year = calendar.get(Calendar.YEAR);
System.out.println(year);
int month =calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
int sec = calendar.get(Calendar.SECOND);
String str = year +"年"+ month + "月" + day +"日" +" " + hour+":"+min+":"+sec;
System.out.println(str);
修改时间
// 获取 当前日期的后10天的时间
//calendar.add(Calendar.DAY_OF_MONTH,10);
// 获取 当前日期的前10天的时间
calendar.add(Calendar.DAY_OF_MONTH,-10);
案例:二月天
需求:获取任意一年的二月有多少天
思路:设置时间为当年的3月1号 再来获取3月1号的前一天
/*
案例:二月天
需求:获取任意一年的二月有多少天
思路:设置时间为当年的3月1号 再来获取3月1号的前一天
*/
public class CalendarDemo2 {
public static void main(String[] args) {
int day = get2MonthLastDay(2052);
System.out.println(day);
}
public static int get2MonthLastDay(int year){
Calendar calendar = Calendar.getInstance();
//此时设置当前时间为某年的3月1号
calendar.set(year,2,1);
// 2月的最后一天就是3月1好的 前一天
calendar.add(Calendar.DAY_OF_MONTH,-1);
// 获取年月日时分秒
int day = calendar.get(Calendar.DAY_OF_MONTH);
return day;
}
}