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

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

Calendar cal=Calendar.getInstance();

二、Canendar 的常用方法:

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

 Canendar cal=Calendar.getInstance();

//获取年
System.out.println("年" + cal.get(Calendar.YEAR));
//获取月
System.out.println("月" + cal.get(Calendar.MONTH) + 1));
//获取日
System.out.println("日" + cal.get(Calendar.DAY_OF_MONTH));
//获取时
System.out.println("时" + cal.get(Canendar.HOUR_OF_DAY));
//获取分
System.out.println("分"+ cal.get(Calendar.MINUTE));
//获取秒
System.out.println("秒"+ cal.get(Calendar.SECOND));

设置时间:

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

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

也可以单独赋值:

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

三、常用的add方法

比如在59秒 增加一秒

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

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

实战实例: 

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

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

猜你喜欢

转载自blog.csdn.net/qq_30631063/article/details/109001353