Calendar概述:
Calendar代表了系统当前时间的日历对象,可以单独修改,获取事件中的年月日;
细节:Calendar是一个抽象类,不能直接创建对象;
获取Calendar日历类对象的方法:
public static Calendar getInstance() 获取当前时间的日历对象
(一).Calendar的常用方法:
public final Date getTime() 获取日期对象
public final setTime(Date date) 给日历设置日期对象
public long getTimeInMillis() 拿到时间毫秒值
public void setTimeInMillis(long millis) 给日历设置时间毫秒值
public int get(int field) 取日历中的某个字段信息
public void set(int field,int value) 修改日历的某个字段信息
public void add(int field,int amount) 为某个字段增加/减少指定的值
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo1 {
public static void main(String[] args) {
//1.获取日历对象
//细节一:Calendar是一个抽象类,不能直接new,而是通过一个静态方法获取到子类对象;
//底层原理:根据系统的不同时区来获取不同的日历对象;默认表示当前时间;
//会把事件中的纪元,年,月,日时分秒,星期等等,都放入一个数组当中;
//细节2:
//在日历对象当中,月份0-11;
//如果获取出来的是0,实际上是1月;
//获取的是11.实际上是12月;
//所以要在2获取的基础上+1;
//星期:在老外眼里,星期日相当于一周中的第一天;
Calendar c= Calendar.getInstance();
//2.修改一下日历代表的时间
Date d=new Date(0L);
//0L表示计算机的时间原点
c.setTime(d);
System.out.println(c);
c.set(Calendar.YEAR,2000);
c.set(Calendar.MONTH,10);
c.set(Calendar.DAY_OF_MONTH,5);
//调用这个方法,在这个基础上增加一个月;
//c.add(Calendar.MONTH,1);
//java在Calendar类中,把索引对应的数字都定义成了常量;
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DAY_OF_MONTH);
int week=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+","+month+","+date+","+getweek(week));//1970,1,1,星期四
}
//查表法:表是一个容器,让数据和索引产生对应的关系;
public static String getweek(int index){
//定义一个数组,让汉字星期几,跟1~7产生对应关系;
//1(星期日) 2(星期一) 3.(星期二) ....
String[] arr={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
//根据索引返回对应的星期;
return arr[index];
}
}
(二).总结:Calendar表示什么?
表示一个时间的日历对象;
2.如何获取对象?
通过getInstance方法获取对象;
3.常见方法:
setXxx:修改
getXxx:获取
add:在原有的基础上进行增加或者减少;
4.细节:
日历类中月份的范围:0~11;
日历类中星期的特点:星期日是一周中的第一天;