Date和Calendar都是Java中用来表示时间的两个类型,需要各自引入java.util.Date包和java.util.Calendar包。这二者之间的联系也不太清楚,目前我理解的是,Calendar是Date类型的一种拓展(二者不是父类和子类的关系),拓展的效果是可能优化了Date这种不太好的immutable属性,增加了其功能。下面简单介绍其应用:
(一)创建
首先,Date算是一个具体类,而Calendar是一个抽象类,也就是说,Date有new方法,而后者没有new方法,只有静态创建方法。date的new创建有两种overload,一种是new Date(),不加任何参数,返回当前的具体实间点,一个是new Date(LONG),以长整型为参数,表示距离1970.1.1的00:00:00后的毫秒数(1s=1000ms)。而Calendar类的静态方法是getInstance(),即创建方法是Calendar.getInstance()。
二者都继承有Object的clone()方法,所以有拷贝(Type)A.clone(),来得到A的一个复制。
(二)修改
Date的修改方法类似它的第二个new方法,方法为date1.setTime(LONG)。而Calendar相对比较复杂,它的修改是set方法的多个重构,比较经典的是calendar.set(IN