Calendar类介绍


Calendar类是JDK1.1版本提供的新日期类,比Date类使用更方便
Calendar是一个抽象类,但是提供了getInstance()可以进行实例化。
它已知的子类是:GregorianCalendar

Calendar类的使用


setTime() 主要将日历定位到 某一个自定义的时间
add() 推送某个时间之后的时间
set() 推送某个时间之后的时间
get() 得到某个时间的某些数据
但是这些方法在使用时,通常都需要配合Calendar的常量来使用

  1. /**
  2. * 日历类介绍
  3. * @throws ParseException
  4. */
  5. private static void calendar() throws ParseException {
  6. // TODO Auto-generated method stub
  7. // Calendar calendar = Calendar.getInstance();
  8. //这是Calender的子类 使用方式 == Calendar的使用方式
  9. GregorianCalendar calendar = new GregorianCalendar();
  10. String str = "2019-11-12";
  11. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  12. Date date = sdf.parse(str);
  13. //将一个自定义的时间,装配到日历类中
  14. calendar.setTime(date);
  15. //推算下50年以后,是哪一天
  16. // calendar.add(Calendar.YEAR, 50);
  17. //推算下10000天以后,是哪一天
  18. // calendar.add(Calendar.DATE, 10000);
  19. //将日期定义为到哪一年
  20. calendar.set(Calendar.YEAR, 2063);
  21. calendar.set(Calendar.MONTH, 11);
  22. calendar.set(Calendar.DATE, 23);
  23. //得到系统的当前日期
  24. System.out.println(calendar.getTime());
  25. //得到某一个时间的年份
  26. System.out.println(calendar.get(Calendar.YEAR));
  27. //得到某一个时间月份(在中国,需要 + 1)
  28. System.out.println(calendar.get(Calendar.MONTH) + 1);
  29. //得到某一个时间,在当月是第几天
  30. System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//DAY_OF_MONTH == DATE
  31. //得到某一个时间,是哪一年的第几天
  32. System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
  33. //得到某一个时间,是本周的第几天(星期天 算是第1天,美国佬定义的)
  34. System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
  35. //得到某一个时间,是当天的第几个小时
  36. System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
  37. //得到某一个时间,是某个小时的第多少分钟
  38. System.out.println(calendar.get(Calendar.MINUTE));
  39. //得到秒
  40. System.out.println(calendar.get(Calendar.SECOND));
  41. //得到毫秒
  42. System.out.println(calendar.get(Calendar.MILLISECOND));
  43. }