概述
位于java.util.Calendar下,Calenda类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR,MONTH,DAY_OF_MONTH),该类无法直接创建对象使用,可调用静态方法getInstance(),该方法返回Calendar子类对象。
使用默认时区和语言环境获得一个日历:
static Calendar getInstance()
成员方法:
1,public int get(int field): 返回给定日历字段的值。
参数:int field,日历字段。可使用Calendar类静态成员变量获取,如Calendar.YEAR,Calendar.MONTH。
返回值:日历字段代表的具体值。
2,public void set(int filed, int value): 为给定的日历字段设置给定值。
参数:
int field,日历字段;
int value,传递的具体值。
重载形式:set(int year, int month, int day)
3,public abstract viod add(int field, int amount):为日历字段添加或减去指定值。
参数:
int field:日历字段;
int amount:正数,增加;负数,减少。
4,public Date getTime(): 返回一个表示此Calendar时间值的Date对象,把日历对象转化为日期对象。
package day4_27;
import java.util.Calendar;
import java.util.Date;
public class demo1Calendar {
public static void main(String[] args) {
demo1();
demo2();
demo3();
demo4();
}
private static void demo4() {
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, 2);
System.out.println(c.get(Calendar.YEAR)); //2022
c.add(Calendar.MONTH, -1);
System.out.println(c.get(Calendar.MONTH)); //2
}
private static void demo3() {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2028);
c.set(Calendar.MONTH, 8); //对应9月
c.set(Calendar.DATE, 8);
System.out.println(c.get(Calendar.YEAR)); //2028
System.out.println(c.get(Calendar.MONTH)); //8
System.out.println(c.get(Calendar.DAY_OF_MONTH)); //8
Date date = c.getTime();
System.out.println(date); //Fri Sep 08 12:43:58 CST 2028
}
private static void demo2() {
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR); // 2020
System.out.println(year);
int month = c.get(Calendar.MONTH) + 1; // 4 东方:1-12月;西方:0-11月
System.out.println(month);
int day = c.get(Calendar.DATE); // 28
System.out.println(day);
}
private static void demo1() {
Calendar c = Calendar.getInstance(); //调用静态方法,多态写法
System.out.println(c);
}
}