工具类

概述

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()方法获取两个日期的毫秒数,随后毫秒数作差,接着直接用毫秒差整除一日所拥有的毫秒数,就可以将差值计算出来.