java Calendar(日历类)的各种使用方法

本文深入讲解 Java 中的 Calendar 类,包括其基本用法、如何获取和设置日历字段、添加或减少时间量以及如何将 Calendar 对象转换为 Date 对象。通过实例演示,帮助读者掌握 Calendar 类的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.util.Calendar类:日历类
Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR/MONTH/DAY_OF_MONTH/HOUR)
Calendar类无法直接创建对象使用,里边有一个静态方法叫做getInstance(),该方法返回了Calendar类的子类对象。
static Calendar getInstance()
使用默认时区和语言环境获得一个日历。

public class DateCalendar {
    public static void main(String[] args) {
       /* Calendar c=Calendar.getInstance();
        System.out.println(c);*/
        demo01();
        demo02();
        demo03();
        demo04();
    }



    /*
       public int get(int field):返回给定日历字段的值
       参数:传递指定的日历字段(YEAR,MONTH...)
       返回值:日历字段代表的具体的值
       */
    private static void demo01() {
        Calendar c=Calendar.getInstance();
        int year=c.get(Calendar.YEAR);
        System.out.println(year);
        int month=c.get(Calendar.MONTH);
        System.out.println(month);
        int date=c.get(Calendar.DAY_OF_MONTH);
        System.out.println(date);
        int hour=c.get(Calendar.HOUR);
        System.out.println(hour);
    }

    /*
      public void set(int field,int value):将给定的日历字段设置为给定值
      参数:
        int field:传递指定的日历字段(YEAR/MONTH...)
        int value:给指定字段设置的值
      */
    private static void demo02() {
        Calendar c=Calendar.getInstance();
        //设置年为1999年
        c.set(Calendar.YEAR,1999);
        c.set(Calendar.MONTH,9);
        c.set(Calendar.DATE,9);

        //同时设置年月日:
       // c.set(2020,10,1);
        int year=c.get(Calendar.YEAR);
        System.out.println(year);   //1999
    }


    //public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减少指定的时间量
    private static void demo03() {
        Calendar c=Calendar.getInstance();
        c.add(Calendar.YEAR,-2);
        int year=c.get(Calendar.YEAR);
        System.out.println(year);
    }


    //public Date getTime():返回一个表示此Calendar时间值的Date对象
    //把日历对象转换为日期对象
    private static void demo04() {
        Calendar c=Calendar.getInstance();
        Date date=c.getTime();
        System.out.println(date);  //Tue Sep 08 00:36:24 CST 2020
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值