1.Calendar类获取对象的方式
Calendar. 类是一个抽象类,它为特定瞬间与一 组诸如YEAR、MONTH DAY_OF MONTH、 HOUR等且历字段之间的转换提供了一些方法:并为操作日历字段。(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年1月1日的00:00:00. 00,格里高利历)的偏移量。
java. util. Calendar类:日历类
Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR、MONTH、DAY_ OF_ MONTH、HOUR )
Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象
static Calendar getInstance() 使用默认时区和语言环境获得一个日历。
package cn.itcast.day11.demo01;
import java.util.Calendar;
public class CalendarMain {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c);
}
}
2.Calendar常用的成员方法
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对象。
package cn.itcast.day11.demo01;
import java.util.Calendar;
import java.util.Date;
public class CalendarMain02 {
public static void main(String[] args) {
demo01();
System.out.println("=====重新设置日历=====");
demo02();
System.out.println("=====日期增加或减少====");
demo03();
System.out.println("====把日历对象,转换为日期对象====");
demo04();
}
private static void demo01(){
Calendar y = Calendar.getInstance();
int year = y.get(Calendar.YEAR);
System.out.println(year);
int month = y.get(Calendar.MONTH);
System.out.println(month);//西方的月份是0-11.东方1-12
int day = y.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
//将给定的日历字段设置为给定值。
private static void demo02(){
Calendar y= Calendar.getInstance();
y.set(Calendar.YEAR,5200);
y.set(Calendar.MONTH,12);
y.set(Calendar.DATE,32);
int year = y.get(Calendar.YEAR);
System.out.println(year);
int month = y.get(Calendar.MONTH);
System.out.println(month);
int day = y.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
//根据日历的规则,为给定的日历字段添加或减去指定的时间量。
private static void demo03(){
Calendar y = Calendar.getInstance();
//年份增加2
y.add(Calendar.YEAR,2);
//月份减少2
y.add(Calendar.MONTH,-2);
//日期增加20天
y.add(Calendar.DATE,20);
int year = y.get(Calendar.YEAR);
System.out.println(year);
int month = y.get(Calendar.MONTH);
System.out.println(month);//西方的月份是0-11.东方1-12
int day = y.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
//把日历对象,转换为日期对象
private static void demo04(){
Calendar y = Calendar.getInstance();
Date date = y.getTime();
System.out.println(date);
}
}
执行结果
2020
4
28
=====重新设置日历=====
5201
1
1
=====日期增加或减少====
2022
3
17
====把日历对象,转换为日期对象====
Thu May 28 11:38:15 CST 202