1、概念
java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
2、获取方式
3、常用方法
==代码实例
package Calender;
import java.util.Calendar;
import java.util.Date;
public class CalenderTest {
public static void main(String[] args) {
//获取Calender 的对象
Calendar cd = Calendar.getInstance();
//===========get 方法用来获取指定字段的值,set方法用来设置指定字段的值===============
// 获取年
int i = cd.get(Calendar.YEAR);
// 获取月
int m = cd.get(Calendar.MONTH) + 1;// 美国是0~11月
// 获取几号
int n = cd.get(Calendar.DAY_OF_MONTH);
// 获取年中的第几周
int o = cd.get(Calendar.WEEK_OF_YEAR);
// 获取周几
int w = cd.get(Calendar.DAY_OF_WEEK)-1;// 美国以周天为1
cd.set(Calendar.YEAR,1999);//设置年份
cd.set(Calendar.MONTH,8);//设置月份
//===================add 方法可以对指定日历字段的值进行加减操作==============
cd.add(Calendar.YEAR,3);// 往后推三年
cd.add(Calendar.DAY_OF_MONTH,3);
System.out.println(cd.get(Calendar.YEAR));
System.out.println(cd.get(Calendar.MONTH));
System.out.println(i);//2022
System.out.println(m);//8月
System.out.println(n);//31日
System.out.println(o);//这一年的第36周
System.out.println(w);//星期几
//==================Calender 中的getTime方法不是获取毫秒时刻 而是拿到对应的 Date 对象===========
Date d = cd.getTime();
System.out.println(d);//Fri Oct 04 16:37:57 CST 2002
}
}
小贴士:
西方星期的开始为周日,中国为周一。
在Calendar类中,月份的表示是以0-11代表1-12月。
日期是有大小关系的,时间靠后,时间越大。