🍋前言🍋
本片文章,主要在于了解Calendar类,及对它常用方法的运用
🍎欢迎点赞 👍 收藏 ⭐留言评论 📝
(一).Calendar类
是一个抽象类,在Date类后出现的,替换掉了很多Date类中的方法
创建 Calendar 对象不能使用 new 关键字,因为 Calendar 类是一个抽象类,但是它提供了一个 getInstance() 方法来获得 Calendar类的对象。getInstance() 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。
1.简介:
Calendar类是Java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCanlendar;获取Calendar对象一般使用类中提供的静态方法:getInstance(),该方法返回了Calendar的子类对象
Calendar c = Calendar.getInstance();//默认是当前日期
另外Calendar类是抽象类无法实例化,但是它有实现类所以可以通过创建子类初始化Calendar对象
创建一个代表2023年11月24日的Calendar对象
Calendar c1= new GregorianCalendar(2023, 11, 24);
2.获取方式
由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。
(二).Calendar类常用方法
Calendar
类的常用的成员方法:
public int get(int field):返回的是一个日历的字段值
public void set(int field,int value):讲给定的日历字段设置为给定的值
public abstract void add(int field,int amount):根据日历规则,为给定的日历字段添加或者是减去指定的时间量值
public Date getTime():返回的是一个表示Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
成员方法的参数
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类常用方法代码演示
1、根据日历规则,为指定的日历字段添加或者减去指定的事件量
//获取日历的当前实例
Calendar calendar=Calendar.getInstance();
//把当前的月份增加两个月
calendar.add(Calendar.MONTH,2);
//把当前的年份减少两年
calendar.add(Calendar.YEAR,2);
//获取更改后的年份和月份
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);
System.out.println(year+"-"+month);
2、获取一个Calendar日历对象对应的Date日期对象
//获取一个Calendar日历对象对应的Date日期对象
public static void demo(Calendar calendar){
//把日历对象转化成日期对象
Date date=calendar.getTime();
System.out.println(date);//Thu Nov 23 20:51:05 CST 2023
//获取当前时间的时区
long timeMile=calendar.getTimeInMillis();
System.out.println("这是calendar日历对应的毫秒值:"+timeMile);
//获取System的毫秒值
long timeSystemMilli=System.currentTimeMillis();
System.out.println("这是System日历对应的毫秒值:"+timeSystemMilli);
//获取Date的毫秒值
Date date1=new Date();
long time= date.getTime();
System.out.println("这是date日历对应的毫秒值");
}
(三).Calendar类对象字段类型
Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
常量 | 描述 |
---|---|
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTE | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |
4
🍋最后🍋
总结不易,希望小宝们不要嫌弃哦!😀