java基础 之 Calender类

Java中的Calendar类是一个抽象类,通常通过getInstance()获取其子类实例。它提供了get()方法来获取日历字段的值,set()方法用于设置字段值,add()方法进行时间的加减操作,以及getTime()方法将Calendar转换为Date对象。

Calender类

java.util.Calendar类:日历类。

  • Calender类是一个抽象类,他不能直接创建对象,有一个静态方法叫做getInstance(),该方法返回了Calender类的子类对象。
  • public static Calendar getInstance()使用默认时区和区域设置获取日历。
  • Calendar返回的是基于默认时区的当前时间,默认为FORMAT区域设置。
  • 结果:日历。
public static void main(String[] args)  {
        Calendar cal=Calendar.getInstance();
        System.out.println(cal);
    }

运行结果:

java.util.GregorianCalendar[time=1576754190147,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=11,WEEK_OF_YEAR=51,WEEK_OF_MONTH=3,DAY_OF_MONTH=19,DAY_OF_YEAR=353,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=16,SECOND=30,MILLISECOND=147,ZONE_OFFSET=28800000,DST_OFFSET=0]

成员方法:

public int get(int field):返回给定日历字段的值。

public static void main(String[] args)  {
        demo01();
    }
    /*
    public int get(int field):返回给定日历字段的值。
    参数:指定的日历字段(YEAR,MOUTH...)
     */
    private static void demo01() {
        Calendar c=Calendar.getInstance();
        //静态可以直接用类名获取属性值。
        int year=c.get(Calendar.YEAR);
        int mouth=c.get(Calendar.MONTH);
        int date = c.get(Calendar.DATE);
        System.out.println(year+"."+(mouth+1)+"."+date);//西方的月份是0-11月,东方的月份是1-12.
    }

运行结果:

2019.12.19

public void set(int field, int value):将给定的日历字段设置为给定值。

public class DateDemo {
    public static void main(String[] args)  {
        demo01();
    }
    /*
    public void set(int field, int value):将给定的日历字段设置为给定值。
    参数:
    int field 指定的日历字段(YEAR,MOUTH...)
    int value 传递的字段设置的具体的值
     */
    private static void demo01() {
        Calendar c=Calendar.getInstance();
        //静态可以直接用类名获取属性值。
        c.set(Calendar.YEAR,2020);
        c.set(Calendar.MONTH,3);
        c.set(Calendar.DATE,14);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH);
        int date=c.get(Calendar.DATE);
        System.out.println(year+"."+(month+1)+"."+date);//西方的月份是0-11月,东方的月份是1-12.
    }
}
  • 运行结果:
2020.4.14
  • 同时设置年月日,可以使用重载方法set(int year,int month,int date);
c.set(8888,2,30);

public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。

public class DateDemo {
    public static void main(String[] args)  {
        demo01();
    }
    /*
    public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
    int field 指定的日历字段(YEAR,MOUTH...)
    int amount 增加或减少的值
    正数:增加   负数:减少
     */
    private static void demo01() {
        Calendar c=Calendar.getInstance();
        //静态可以直接用类名获取属性值。
        c.add(Calendar.YEAR,+2);
        c.add(Calendar.MONTH,-3);
        c.add(Calendar.DATE,+4);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH);
        int date=c.get(Calendar.DATE);
        System.out.println(year+"."+(month+1)+"."+date);//西方的月份是0-11月,东方的月份是1-12.
    }
}
  • 运行结果:
2021.9.23

public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。

public class DateDemo {
    public static void main(String[] args)  {
        demo01();
    }
    /*
    public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
    作用:是将日历对象转变为日期对象。
     */
    private static void demo01() {
        Calendar c=Calendar.getInstance();
        //静态可以直接用类名获取属性值。
        Date date=c.getTime();
        System.out.println(date);
    }
}

运行结果:

Thu Dec 19 19:55:21 CST 2019
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值