当前位置: 首页 > Java培训 > JAVA开发 > java中date类型如何比较大小
java中date类型如何比较大小 时间:2018-01-19     来源:Java data类型讲解

Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间。在实际的工作中有时会涉及到对日期时间的一个比较,判断两个时间的先后顺序。

首先来简单的看一下Date类,因为在其使用过程发现其使用存在一些缺陷,Date类大多数的方法都已被弃用,但是还是有一些人在使用中。下面是Date的两个构造方法:

public Date() {

this(System.currentTimeMillis());

}

public Date(long date) {

fastTime = date;

}

从这就可以看出创建Date对象实际上就是获取系统当前距离1970年0时0分0秒0毫秒的总的毫秒数。

比较两个Date的大小则可以通过以下保留的一些方法来实现:

1. publicbooleanafter(Date when)

判断当前date是否早于目标when,早则返回true,等于或晚于则返回false;

2. publicbooleanafter(Date when)

例如:

Date date1 = new Date();

// 加一个空循环,避免date1和date2产生间隔过短导致相等

for (int i = 0; i < 1000000; i++) {

}

Date date2 = new Date();

System.out.println(date1.before(date2));

System.out.println(date1.after(date2));

运行结果:

true

false

3. public intcompareTo(Date anotherDate)

通过此方法可以比较两个Date数据,当前date与anotherDate相等时返回0,小于返回负数,大于返回正数。

判断上面例子中的date1和date2:

System.out.println(date1.compareTo(date2));

运行结果:

-1

4. public long getTime()

返回系统当前距离1970年0时0分0秒0毫秒的总的毫秒数,直接将两个date对象调用该方法的返回值进行相减,判断差值大小即可。

前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2018 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号,京公海网安备11010802025203号