一:Calendar
java.util.Calendar
- Calendar类是一个抽象类(不能直接使用),里面提供了很多操作日期的字段的方法
- Calendar类无法直接创建对象使用,里面有一个静态方法叫getInstance,该方法返回了Calendar类的子类
- static Calendar getInstance()使用默认时区和语言获得一个日历
下面这个代码是Calendar的使用
public static void main(String[] args) {
Calendar c = Calendar.getInstance();//获取Calendar对象
System.out.println(c);
}
二:Calendar常用的成员方法
| 字段值 | 含义 |
| ------------ | -------------------- |
| YEAR | 年 |
| MONTH | 月(从0开始,可以+1使用) |
| DAY_OF_MONTH | 月中的天(几号) |
| HOUR | 时(12小时制) |
| HOUR_OF_DAY | 时(24小时制) |
| MINUTE | 分 |
| SECOND | 秒 |
| DAY_OF_WEEK | 周中的天(周几,周日为1,可以-1使用) |
get
/*
* public int get(int field):返回给定日历字段的值。
* */
public static void get(){
Calendar c = Calendar.getInstance();//获取日历对象
int i = c.get(Calendar.YEAR);//返回年
System.out.println(i);
int j = c.get(Calendar.DATE);//返回日期
System.out.println(j);
int k = c.get(Calendar.MONTH);//返回的是月份,默认是0-11的 东方是1-12
System.out.println(k+1);
}
set
/*
* public void set(int field, int value)`:将给定的日历字段设置为给定值。
* */
public static void set(){
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 9999);//设置年份为9999
c.set(Calendar.MONTH,9+1);//设置年份为9月 必须+1
c.set(Calendar.DATE, 9);//设置日期为9号
c.set(9999, 9+1, 9);//直接给年月日赋值修改 三个参数的
int i = c.get(Calendar.YEAR);
System.out.println(i);
int j = c.get(Calendar.DATE);
System.out.println(j);
int k = c.get(Calendar.MONTH);
System.out.println(k+1);
}
add
/*
* public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
* */
public static void add() {
Calendar c = Calendar.getInstance();
//为给定的年份+2
c.add(Calendar.YEAR,2);
int i = c.get(Calendar.YEAR);
System.out.println(i);
//将给定的日期-5
c.add(Calendar.DATE, -5);
int j = c.get(Calendar.DATE);
System.out.println(j);
}
getTime
/*
* public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
* 将Calendar对象转换成Date对象
* */
public static void getTime(){
Calendar c = Calendar.getInstance();
Date time = c.getTime();
}