java.util.Calendar类:日历类
Calendar类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR)
Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象
static Calendar getInstance() 使用默认时区和语言环境获得一个日历
public class Demo01Calendar {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();//多态
System.out.println(c);
}
}
Calendar类的常用成员方法:
public int get(int field):返回给定日历字段的值。
public void set(int field, int value):将给定的日历字段设置为定值。
public abstract void add(int field, int amount):根据日历字段添加或减去指定的时间量。
public Date getTime(): 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
成员方法的参数:
public final static int YEAR = 1; 年
public final static int MONTH = 2; 月
public final static int WEEK_OF_YEAR = 3; 月中的某一天
public final static int DAY_OF_MONTH = 5; 月中的某一天
public final static int HOUR = 10; 时
public final static int MINUTE = 12; 分
public final static int SECOND = 13; 秒
public class demo02Calendar {
public static void main(String[] args) {
demo04();
}
/*
public Date getTime(): 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
把日历对象,转换为日期对象
*/
private static void demo04() {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
Date date = c.getTime();
System.out.println(date);
}
/*
public abstract void add(int field, int amount):根据日历字段添加或减去指定的时间量。
把指定的字段增加/减少指定的值
参数:
int field:传递指定的日历字段(YEAR,MONTH....)
int amount:增加/减少指定的值
正数:增加
负数:减少
*/
private static void demo03() {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
//把年增加2年
c.add(Calendar.YEAR,2);
//把月份减少一个月
c.add(Calendar.MONTH,1);
int year=c.get(Calendar.YEAR);
System.out.println(year);
int month=c.get(Calendar.MONTH);
System.out.println(month);//西方的月份是0到11,东方的月份是1到12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
/*
public void set(int field, int value):将给定的日历字段设置为定值。
参数:
int field:传递指定的日历字段(YEAR,MONTH....)
int value:给指定字段设置的值
*/
private static void demo02() {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
//设置年为9999
c.set(Calendar.YEAR,9999);
//设置月为9月
c.set(Calendar.MONTH,9);
//设置日为9日
c.set(Calendar.DATE,9);
//同时设置年月日,可以使用set的重载方法
c.set(8888,8,8);
int year=c.get(Calendar.YEAR);
System.out.println(year);
int month=c.get(Calendar.MONTH);
System.out.println(month);//西方的月份是0到11,东方的月份是1到12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
/*
public int get(int field):返回给定日历字段的值。
参数:传递指定的日历字段(YEAR,MONTH....)
返回值:日历字段代表的具体的值
*/
private static void demo01() {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
int year=c.get(Calendar.YEAR);
System.out.println(year);
int month=c.get(Calendar.MONTH);
System.out.println(month);//西方的月份是0到11,东方的月份是1到12
int date = c.get(Calendar.DAY_OF_MONTH);
System.out.println(date);
}
}