java.util.Date的创建
java.util.Date这个类可能是我们最常用的一个用来表示日期的类了。我们可以像下面这样初始化一个实例来表示当前日期和时间:
java.util.Date date = new java.util.Date();
Date类中有一个getTime()方法可以用来获取日期实例的毫秒表示
java.util.Date date = new java.util.Date();
long time = date.getTime();
这个time的值和在创建date实例的时刻调用System.currentTimeMillis()获取到的值是一样的。
所以,你也可以像下面这样创建一个日期实例:
long now = System.currentTimeMillis();
java.util.Date date = new java.util.Date(now);
java.util.Date之间的比较
由于java.util.Date实现了java.lang.Comparable接口,所以我们可以像下面那样使用compareTo()方法来比较两个实例的值:
java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();
int comparison = date1.compareTo(date2);
如果date1小于date2返回-1
如果date1和date2相等返回0
如果date1大于date2返回1
除了使用compareTo()方法,还可以使用Date类另外提供的before()和after()方法来进行比较
java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();
boolean isBefore = date1.before(date2);
boolean isAfter = date1.after (date2);
注意,不管是使用compareTo()还是使用before()和after()来进行比较,这个比较的精度都是只精确到毫秒。
写在结尾
java.util.Date关于年月日等get和set操作都已经是不推荐的方法了,如果需要对这些值进行操作,那我们该考虑使用java.util.Calendar类来代替java.util.Date类。