Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间。在实际的工作中有时会涉及到对日期时间的一个比较,判断两个时间的先后顺序。java培训机构来为大家介绍一下吧就。
首先来简单的看一下Date类,因为在其使用过程发现其使用存在一些缺陷,Date类大多数的方法都已被弃用,但是还是有一些人在使用中。下面是Date的两个构造方法:
publicDate(){
this(System.currentTimeMillis());
}
publicDate(longdate){
fastTime=date;
}
从这就可以看出创建Date对象实际上就是获取系统当前距离1970年0时0分0秒0毫秒的总的毫秒数。
比较两个Date的大小则可以通过以下保留的一些方法来实现:
1.publicbooleanafter(Datewhen)
判断当前date是否早于目标when,早则返回true,等于或晚于则返回false;
2.publicbooleanafter(Datewhen)
例如:
Datedate1=newDate();
//加一个空循环,避免date1和date2产生间隔过短导致相等
for(inti=0;i<1000000;i++){
}
Datedate2=newDate();
System.out.println(date1.before(date2));
System.out.println(date1.after(date2));
运行结果:
true
false
3.publicintcompareTo(DateanotherDate)
通过此方法可以比较两个Date数据,当前date与anotherDate相等时返回0,小于返回负数,大于返回正数。
判断上面例子中的date1和date2:
System.out.println(date1.compareTo(date2));
运行结果:
-1
4.publiclonggetTime()
返回系统当前距离1970年0时0分0秒0毫秒的总的毫秒数,直接将两个date对象调用该方法的返回值进行相减,判断差值大小即可。