Calendar类的方法
1. getInstance()
静态方法
2. get
、set
成员方法
赋值时,我们一般采用 年 月 日 时 分 秒
Calendar.YEAR
Calendar.MONTH
Calendar.DAY_OF_MONTH
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
set(int year ,int month,int date)
set(int year ,int month,int date,int hour,int minute)
set(int year ,int month,int date,int hour,int minute,int second)
//设置周一
set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)
get(Calendar.HOUR); //12小时制
get(Calendar.HOUR_OF_DAY); //24小时制,一般使用这个属性赋值
get(Calendar.Month) ; //这样的方法 0表示一月,1表示二月
get(Calendar.DAY_OF_MONTH); //获得这个月的第几天
get(Calendar.DAY_OF_WEEK); //获得这个星期的第几天
get(Calendar.DAY_OF_YEAR); //获得这个年的第几天
getTimeMillis(); //获得当前时间的毫秒表示
3. getTime
、setTime
和Date
类转化
Date date = new Date();
calendar.setTime(date);
//返回一个由calendar得到的Date对象
Date d = calendar.getTime();
4. add
日期加减
calendar.add(Calendar.YEAR,-1);
//日期减1年
calendar.add(Calendar.MONTH,3);
//日期加3个月
calendar.add(Calendar.DAY_OF_YEAR,10);
//日期加10天
calendar.add(Calendar.SECOND,60);
//日期加60秒天
calendar.add(Calendar.MINUTE,-10);
//日期减10分钟
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date endDate = new Date();
String endtime = sdf.format(endDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(endDate);
calendar.add(Calendar.MINUTE,-10);
Date startDate=calendar.getTime();
String startime = sdf.format(startDate);
log.info("开始时间: {}", startime);
log.info("结束时间: {}", endtime);
5. 计算某一月份的最大天数
Calendar calendar=Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
5. before
、after
日期比较
Calendar old = Calendar.getInstance();
old.set(Calendar.YEAR, 2000);
Calendar now = Calendar.getInstance();
System.out.println("old:" + old.getTime());
System.out.println("now:" + now.getTime());
System.out.println("now 日期是在 old 之后? : " + now.after(old));