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));
}
}
还没有评论,来说两句吧...