概述
java内部用于计算日期的类,内部封装了大量有关于日期/时间计算的方法.
定义
Calender类不能使用new()
来创建对象,必须使用类本身的getinstance()
来创建一个实例,初始化的实例所带的时间是程序运行时的时间,之所以Calendar不能使用new()来建立,是因为每个国家有不同的历法,getInstance()
方法会根据运行者所在的国家来建立不同的Calender体系.
初始化
Calender类提供了一个set()
方法用来初始化当前的时间,set()
拥有多种重载:
1.c.set(Calendar.YEAR, year);
这种是改变前一个变量指定的Calendar的值,比如说改变年份,月份等,需要特意地指出.
2.set(int yy, int mm, int dd)
通过直接输入若干int值来指代需要输入的数据,直接指代年月日来进行输入.
这个的格式为:年,月,日
3.set(int yy, int mm, int dd, int hours, int min)
同上
格式:年 月 日 小时 分钟
4.set(int yy, int mm, int dd, int hours, int min, int sec)
同上
格式:年 月 日 小时 分钟 小时
常用方法
1.compareTo()
public int compareTo(Calendar obj2);
用于比较两个日期的大小,本体大的话为返回正数,否则返回负数.
2.getTimeInMillis()
public int getTimeInMillis();
获取从现在到1970.1.1的毫秒数
3.getTime()
public Date getTime();
从一个Calendar类中返回一个Date类,配合toString()
方法,可以获取一个能输出的时间.
简单思路
计算两个日期之间相差的日子
要计算两个日期直接相差的日子,直接使用getTimeInMillis()
方法获取两个日期的毫秒数,随后毫秒数作差,接着直接用毫秒差整除一日所拥有的毫秒数,就可以将差值计算出来.