Java中Date的构造方法及大小比较

 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. public boolean after(Date when)

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

  2. public boolean after(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 int compareTo(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对象调用该方法的返回值进行相减,判断差值大小即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华清远见成都中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值