Calendar类是一个抽象类,是不能实例化的,那么这个类得到一个日历实例的方法是这样的:
Calendar calendar = Calendar.getInstance( );
举例:
public class Test01 {
public static void main(String[] args){
Calendar c1 = Calendar.getInstance();
int year = c1.get(Calendar.YEAR);
System.out.println(year);
}
}
结果为:2021
类变量有:
calendar.get(Calendar.YEAR);
calendar.get(Calendar.MONTH); // 月份从0开始
calendar.get(Calendar.DAY_OF_MONTH);
calendar.get(Calendar.DAY_OF_WEEK);
calendar.get(Calendar.WEEK_OF_YEAR);
calendar.get(Calendar.WEEK_OF_MONTH);
calendar.get(Calendar.HOUR); // 12小时
calendar.get(Calendar.HOUR_OF_DAY); // 24小时
calendar.get(Calendar.MINUTE);
calendar.get(Calendar.SECOND);
calendar.get(Calendar.MILLISECOND);
1. YEAR方法
字段编号为 get和 set表示年份。
public class Test01 {
public static void main(String[] args){
Calendar c1 = Calendar.getInstance();
//输出当前年份
int year = c1.get(Calendar.YEAR);
//输出当前天数,按年计算
int days = c1.get(Calendar.DAY_OF_YEAR);
//输出当前天数,按月计算
int days1 = c1.get(Calendar.DAY_OF_MONTH);
//重新设置当前年份为1996年
c1.set(Calendar.YEAR,1996);
System.out.println(days + "天");
System.out.println(days1 + "天");
System.out.println(year);
System.out.println("修改后的年份为: " + c1.get(Calendar.YEAR));
}
}
结果为:
322天 18天 2021 修改后的年份为: 1996
2. set()和get()方法
public class Test01 {
public static void main(String[] args){
Calendar c1 = Calendar.getInstance();
//输出当前年份
int year = c1.get(Calendar.YEAR);
//输出当前天数,按年计算
int days = c1.get(Calendar.DAY_OF_YEAR);
//输出当前天数,按月计算
int days1 = c1.get(Calendar.DAY_OF_MONTH);
//重新设置当前年份为1996年
c1.set(Calendar.YEAR,1996);
c1.set(1996,5,9);
System.out.println(days + "天");
System.out.println(days1 + "天");
System.out.println(year);
System.out.println(c1.get(Calendar.YEAR)+"年"+c1.get(Calendar.MONTH)+"月"+c1.get(Calendar.DATE)+"日");
}
}
结果为:
322天 18天 2021 1996年5月9日
3. add()方法
public class Test01 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.MONTH));
calendar.add(Calendar.MONTH,3);
System.out.println(calendar.get(Calendar.MONTH));
}
}
结果为:
10 1
4. getTime()方法
public class Test01 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
//getTime: 获取日历时间,表示的日历对象
Date d1 = calendar.getTime();
System.out.println(d1);
}
}
结果为:
Fri Feb 18 23:38:31 CST 2022
5. getActual()方法
获取某个字段的最大值。
public class Test01 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
//获取一年中最大的月份
int m = calendar.getActualMaximum(Calendar.MONTH);
System.out.println(m);
}
}
结果为:11