Calendar日历类型常见方法(保姆教程)【精选】

目录

什么是Calendar日历类型?

为什么要用Calendar日历类型?

Calendar方法摘要

1,Calendar获取年份,月份,日期等

1.1获取年份

1.2获取月份

1.3获取日期

1.4获取时

1.5获取时的24小时制

2,将给定的日历字段设置为给定的值

2.1设置指定年份、月份、时间等

成员方法的参数

3,根据日历规则,为给定的日历字段添加或者减去指定的事件量

4,获取一个Calendar日历对象对应的Date日期对象

5,使用Calendar将日期转换为时间戳(两种方法)

6,转Date类型格式化输出

 


什么是Calendar日历类型?

Calendar类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。Calendar英文含义为日历、挂历、日程表

为什么要用Calendar日历类型?

1、Calendar日历,主要用来处理时间,例如获取事件的某个部分,改变时间的某个部分,对时间进行加减操作等

2、Calendar日历与Date的区别,Date主要是获取一个日期的,里面也有很多操作日期的方法,但是早已经过期了,不再使用。所以操作日期主要使用Calendar

Calendar方法摘要
返回值方法名作用
voidadd()

 根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。
booleanequals()

比较此 GregorianCalendar 与指定的 Object
intgetMinmum

返回此 GregorianCalendar 实例的给定日历字段的最小值。
intgetMaxmum

返回此 GregorianCalendar 实例的给定日历字段的最大值。
voidcomputTime

 将日历字段值转换为时间值(从 Epoch 至现在的毫秒偏移量)。
inthashCode

生成此 GregorianCalendar 对象的哈希代码。
voidsetTimeZone

使用给定的时区值来设置时区。

1,Calendar获取年份,月份,日期等

首先创建一个日历对象,获取当前年份,月份,时间.....

1.1获取年份
  Calendar calendar=Calendar.getInstance();//创建一个日历对象
        int year=calendar.get(calendar.YEAR);//获取当前年份
        System.out.println("获取当前年份:"+year);
                            //获取当前年份:2023
1.2获取月份
   int month=calendar.get(calendar.MONTH)+1;//获取月份
        System.out.println("获取月份:"+month);
1.3获取日期
  int date=calendar.get(calendar.DATE);//获取日期
        System.out.println("获取日期:"+date);
1.4获取时
       int huor=calendar.get(calendar.HOUR);//获取时
        System.out.println("获取时:"+huor);
1.5获取时的24小时制
  int hous=calendar.get(calendar.HOUR_OF_DAY);//获取时的24小时制
        System.out.println("获取时的24小时制:"+hous);

2,将给定的日历字段设置为给定的值

2.1设置指定年份、月份、时间等
成员方法的参数

int field:日历类的字段,可以通过calendar类的静态成员变量获取
public static final int YARN = 1; //年
public static final int MOUTH = 2; //月
public static final int DATE = 5;//月中的某一天(与day_of_mouth意义相同)
public static final int DAY_OF_MONTH;//月中的第几天(与date意义相同)
public static final int HOUR = 10; //时
public static final int MINUTE= 12;//分
public static final int SECOND= 13;//秒

 calendar.set(calendar.YEAR,2034);//设置指定年份
        int year2=calendar.get(calendar.YEAR);//获取设置指定年份
        System.out.println("获取设置指定年份:"+year2);

        calendar.set(calendar.MONTH,5);//设置指定月份
        int month2=calendar.get(calendar.MONTH);//获取设置的指定月份
        System.out.println("获取设置的指定月份:"+month2);

        calendar.set(calendar.DATE,5);//设置指定日子
        int date2=calendar.get(calendar.DATE);//获取指定日
        System.out.println("获取指定日:"+date2);

3,根据日历规则,为给定的日历字段添加或者减去指定的事件量

//        根据日历规则,为给定的日历字段添加或者减去指定的事件量
        calendar.add(calendar.YEAR,2);//把指定的年份增加两年
        calendar.add(calendar.MONTH,-3);//把指定的月份减少三年
        int yuer=calendar.get(calendar.YEAR);
        int month3=calendar.get(calendar.MONTH);
        System.out.println(yuer+"年"+month3+"月"+date+"日");

4,获取一个Calendar日历对象对应的Date日期对象

 Date da = calendar.getTime();//把日历对象转换成日期对象
        System.out.println(da);//Wed Mar 05 10:07:56 CST 2036

        TimeZone tim=calendar.getTimeZone();//获取当前地区日期
        System.out.println("地区日期:"+tim);

        long timellist=calendar.getTimeInMillis();//获取当前时间的毫秒
        System.out.println("日期对应的毫秒:"+timellist);

        Date date1=new Date();
        long timm=date1.getTime();
        System.out.println("date获取的毫秒值:"+timm);

5,使用Calendar将日期转换为时间戳(两种方法)

  long calTime=calendar.getTimeInMillis();//第一种方法
        System.out.println("Calendar时间戳1:"+calTime);
        System.out.println("Calendar时间戳2:"+calendar.getTime().getTime());//第二种方法

6,转Date类型格式化输出

Calendar sun = new GregorianCalendar(2023, 11, 22);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat.format(sun.getTime()); // 获取Date对象格式化输出
System.out.println(format); 

好啦,大致内容就更新到这里,谢谢观看

伊利小课堂到此结束,下次再见~

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值