Java Date日期比较

来源:互联网 发布:gis软件下载 编辑:程序博客网 时间:2024/05/22 00:35

Java 日期比较
在开发过程中,我们可能会遇到选择日期,作为筛选条件,有个开始时间,和截止时间,但是在处理相关的逻辑的过程中,我们还是需要去判断,开始时间不能比截止时间大,自己在开发过程中,总结出一些方法,如下:

  1. 方法一:
    通过java自带的api去直接处理,方便又快捷,有before(Date date),after(Date date),我们进入该api后,看到内部原理机制如下` /**
   * Returns if this {@code Date} is after the specified Date.     *     * @param date     *            a Date instance to compare.     * @return {@code true} if this {@code Date} is after the specified {@code Date},     *         {@code false} otherwise.     */    public boolean after(Date date) {        return milliseconds > date.milliseconds;    }    /**     * Returns if this {@code Date} is before the specified Date.     *     * @param date     *            a {@code Date} instance to compare.     * @return {@code true} if this {@code Date} is before the specified {@code Date},     *         {@code false} otherwise.     */    public boolean before(Date date) {        return milliseconds < date.milliseconds;    }`

在此我们这里的start与end都是Date类型,具体用法:

before

 if (java.sql.Date.valueOf(start).before(java.sql.Date.valueOf(end))){                  //处理相关的逻辑                                         }

after

 if (java.sql.Date.valueOf(start).after(java.sql.Date.valueOf(end))){                    //do your action                                       }
  1. 方法二:
    其实就是把他们转换成milliseconds,然后直接作比较,其实就是我们官方自己的api,before、after点击入去看,最终都是在比较milliseconds。
 public static int compare_date(String DATE1, String DATE2) {        DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");        try {            Date dt1 = df.parse(DATE1);            Date dt2 = df.parse(DATE2);            if (dt1.getTime() > dt2.getTime()) {                System.out.println("dt1 在dt2后");                return 1;            } else if (dt1.getTime() < dt2.getTime()) {                System.out.println("dt1在dt2前");                return -1;            } else {                return 0;            }        } catch (Exception exception) {            exception.printStackTrace();        }        return 0;    }
0 0
原创粉丝点击