Java常用类- Calendar类的常用方法

末蓝、 2022-12-13 07:24 358阅读 0赞

一、 如何创建 Calendar 日历对象 Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化.

  1. Calendar cal=Calendar.getInstance();

二、Canendar 的常用方法:

//使用默认时区我们可以获得当前的日历时间

  1. Canendar cal=Calendar.getInstance();
  2. //获取年
  3. System.out.println("年" + cal.get(Calendar.YEAR));
  4. //获取月
  5. System.out.println("月" + cal.get(Calendar.MONTH) + 1));
  6. //获取日
  7. System.out.println("日" + cal.get(Calendar.DAY_OF_MONTH));
  8. //获取时
  9. System.out.println("时" + cal.get(Canendar.HOUR_OF_DAY));
  10. //获取分
  11. System.out.println("分"+ cal.get(Calendar.MINUTE));
  12. //获取秒
  13. System.out.println("秒"+ cal.get(Calendar.SECOND));

设置时间:

注意:月份的下标从0开始,设置时同样需要注意,举个例子:我们想设置2020年除夕倒计时的最后一秒

  1. Calendar cal=Calendar.getInstance();
  2. //可以一次性设置年月日时分秒 由于月份下标从0开始 赋值月份要 -1
  3. //cal.set(year,month,date,hourOfDay,minute,second);
  4. cal.set(2020,1,15,23,59,59)

也可以单独赋值:

  1. cal.set(Calendar.YEAR,2020);
  2. //由于月份下标从0开始 所以赋值月份要-1
  3. cal.set(Calendar.MONTH,1);
  4. cal.set(Calendar.DAY_OF_MONTH,15);
  5. cal.set(Calendar.HOUR_OF_DAY,23);
  6. cal.set(Calendar.SECOND,59);
  7. cal.set(Calendar.SECOND,59);
  8. System.out.println(cal.getTime());

三、常用的add方法

比如在59秒 增加一秒

  1. Calendar cal=Calendar.getInstance();
  2. System.out.println(cal.getTime);
  3. cal.set(2018,1,15,23,59,59);
  4. cal.add(Calendar.SECOND,1);
  5. System.out.println(cal.getTime());

这个时候 cal就时间就多一秒

实战实例:

业务描述:有一个业务是折线图,横坐标是从当前的时间开始往前推12个月,要过去一年每个月的时间,这里就用到了add

  1. public static List<String> getCurrentMonth(){
  2. //设置日期的格式化
  3. SimpleDateFormat timeFormat=new SimpleDateFormat("yyyy-MM");
  4. Calendar calendar=Calendar.getInstance();
  5. List<String> stringList=new ArrayList<>();
  6. stringList.add(timeFormat.format(calendar.getTime));
  7. for( int i=0;i<number-1;i++){
  8. //因为我是要往前推一个月所以-1,如果要获取下一个月直接 写 1 即可
  9. //每次calendar 的值都会被覆盖
  10. calendar.add(Calendar.MONTH,-1);
  11. stringList.add(timeFormat.format(calendar.getTime));
  12. }
  13. }

发表评论

表情:
评论列表 (有 0 条评论,358人围观)

还没有评论,来说两句吧...

相关阅读