• 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对象调用该方法的返回值进行相减,判断差值大小即可。

  • 相关阅读:
    【Windows】bat批处理程序简单应用
    【香橙派】实战记录1——简介及烧录 Linux 镜像
    mqtt的nginx和websocket部署
    蔚小理处境越发尴尬了?
    WebGPU的计算着色器实现冒泡排序
    VBA操作Excl表格常用命令
    2022牛客多校(二)
    大语言模型(LLM)快速理解
    性能测试工具Jmeter你所不知道的东西····
    Vue3 - Tree Shaking 摇树优化(它是什么?跟 Vue3 有什么关系?)
  • 原文地址:https://blog.csdn.net/weixin_44059661/article/details/126402117