?欢迎点赞 ? 收藏 ⭐留言评论 ?
是一个抽象类,在Date类后出现的,替换掉了很多Date类中的方法
创建 Calendar 对象不能使用 new 关键字,因为 Calendar 类是一个抽象类,但是它提供了一个 getInstance() 方法来获得 Calendar类的对象。getInstance() 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。
Calendar c = Calendar.getInstance();//默认是当前日期
另外Calendar类是抽象类无法实例化,但是它有实现类所以可以通过创建子类初始化Calendar对象
////创建一个代表2023年11月24日的Calendar对象
Calendar c1= new GregorianCalendar(2023, 11, 24);
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 | 星期几 |
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日历对应的毫秒值");
}
?最后?