calendar类的使用

  • calendar类提供了获取和设置日历字段的方法
  • 构造方法
  • protected Calendar();由于修饰符是protected所以无法创建该对象

主要方法

  1. static Calendar getInstance():使用默认时区和区域获取日历
  2. void set(int year ,int mouth,int day):设置年月日
  3. int get(int filed):返回日历字段值,如年月日等
  4. void setTime:用设置的Date方法设置此日历的时间 Date-calendar
  5. void add():添加时间
  6. long getTimeInMillies():毫秒为单位返回该日历的时间值
package blogtest.oop2.calendar;

import java.util.Calendar;

public class Demo01 {
    public static void main(String[] args) {
        //Calendar获取
        Calendar num1 = Calendar.getInstance();
        System.out.println(num1.getTime().toLocaleString());//2022-8-27 10:54:44

        //获取时间信息
        int year = num1.get(Calendar.YEAR);
        //月
        int mouth = num1.get(Calendar.MONTH);
        //日
        int day = num1.get(Calendar.DAY_OF_MONTH);
        //小时
        int hour = num1.get(Calendar.HOUR_OF_DAY);
        //分钟
        int minute = num1.get(Calendar.MINUTE);
        //秒
        int second = num1.get(Calendar.SECOND);
        System.out.println(year+"年"+(mouth+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");//2022年8月27日10时54分44秒

        //修改时间
        Calendar num2 = Calendar.getInstance();
        num2.set(Calendar.HOUR_OF_DAY,12);//后面是改动时间。想改到几点
        System.out.println(num2.getTime().toLocaleString());//2022-8-27 12:56:29

        //add
        num2.add(Calendar.HOUR_OF_DAY,1);//增加或减少多少时间
        System.out.println(num2.getTime().toLocaleString());//2022-8-27 13:56:29

        //最大值与最小值
        int max = num1.getActualMaximum(Calendar.DAY_OF_MONTH);
        int min = num1.getActualMinimum(Calendar.DAY_OF_MONTH);
        System.out.println(max);//31
        System.out.println(min);//1
    }
}
  • 注意:里面有已经被淘汰的方法(Date这个类里面的toLocalString)但还是可以用的
CalendarJava中用于操作日期和时间的。如果你想要重复使用一个Calendar对象,可以通过以下两种方式实现: 1. 复制一个Calendar对象 可以使用Calendar中的`clone()`方法来创建一个Calendar对象的副本。这样你就可以使用副本对象来进行日期和时间的操作,而不会影响原始的Calendar对象。 例如,下面的代码演示了如何使用`clone()`方法创建一个Calendar对象的副本: ``` Calendar cal1 = Calendar.getInstance(); Calendar cal2 = (Calendar) cal1.clone(); // 修改cal2的日期和时间 cal2.add(Calendar.DAY_OF_MONTH, 1); cal2.set(Calendar.HOUR_OF_DAY, 12); // 输出结果 System.out.println(cal1.getTime()); System.out.println(cal2.getTime()); ``` 2. 重置一个Calendar对象 你可以使用Calendar中的`clear()`方法或`setTimeInMillis()`方法来重置一个Calendar对象的日期和时间。这样你就可以重复使用同一个Calendar对象了。 例如,下面的代码演示了如何使用`clear()`方法和`setTimeInMillis()`方法来重置Calendar对象的日期和时间: ``` Calendar cal = Calendar.getInstance(); // 第一次使用Calendar对象 cal.set(Calendar.YEAR, 2022); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.DAY_OF_MONTH, 1); System.out.println(cal.getTime()); // 重置Calendar对象 cal.clear(); cal.setTimeInMillis(System.currentTimeMillis()); // 第二次使用Calendar对象 cal.set(Calendar.HOUR_OF_DAY, 12); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); System.out.println(cal.getTime()); ``` 这样,你就可以重复使用同一个Calendar对象了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值