1、初始化Calendar对象,默认为当前的时间
Calendar calendar=Calendar.getInstance();
2、获取一个当前时间的Date对象
calendar.getTime();
3、设置Canlendar日期
//1,设置时间为2023年10月8日(第二个参数0代表1月,……,11代表12月)
calendar.set(2023, 9, 8);
//2,按照字段来设置时间
calendar.set(Calendar.YEAR, 2023);//设置年份为2023年
calendar.set(Calendar.MONTH, 9);//设置月份为10月
calendar.set(Calendar.DATE, 8);//设置日期为8日
//3,时间是变量
String date = "2023-10-08";
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
calendar.setTime(simpleDateFormat.parse(date));
4、使用get来获取时间
System.out.println("年份:"+calendar.get(Calendar.YEAR));
System.out.println("月份:"+calendar.get(Calendar.MONTH));
System.out.println("日期:"+calendar.get(Calendar.DATE));
System.out.println("这一天是该年的第几天:"+calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("日期"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("今天是周几(周日为每周的第一天):"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("这一天是今年的第几周(按照日历来算):"+Calendar.WEEK_OF_YEAR);
System.out.println("这个时间点的24小时制的时间:"+calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("今天是周几(周日为每周的第一天):"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("这个时间点的12小时制的时间:"+calendar.get(Calendar.HOUR));
System.out.println("这个时间点的24小时制的时间:"+calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("这个时间点的分钟数:"+calendar.get(Calendar.MINUTE));
System.out.println("这个时间点的秒数:"+calendar.get(Calendar.SECOND));
System.out.println("这个时间点的毫秒数:"+calendar.get(Calendar.MILLISECOND));
//注意:以下方法,会在某些情况下,出现错误,在使用之前需要先calendar.clear();
System.out.println("该年的最小天数:"+calendar.getActualMinimum(Calendar.DAY_OF_YEAR));
System.out.println("该月的最小天数:"+calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println("该年的最大天数:"+calendar.getActualMaximum(Calendar.DAY_OF_YEAR));
System.out.println("该月的最大天数:"+calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
5、获取以前的某天日期
//往前推多少天
calendar.add(Calendar.DAY_OF_MONTH,-i);
6、获取未来的某天日期
//往后推多少天
calendar.add(Calendar.DAY_OF_MONTH,i);
7、时间的比较
时间类型:Calendar
方法:日期1.compareTo(日期2)
结果:
1)若前者的时间更早,则返回-1
2)若两者的时间相等,则返回 0
3)若前者的时间更晚,则返回 1