Java Date日期比较
来源:互联网 发布:gis软件下载 编辑:程序博客网 时间:2024/05/22 00:35
Java 日期比较
在开发过程中,我们可能会遇到选择日期,作为筛选条件,有个开始时间,和截止时间,但是在处理相关的逻辑的过程中,我们还是需要去判断,开始时间不能比截止时间大,自己在开发过程中,总结出一些方法,如下:
- 方法一:
通过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 }
- 方法二:
其实就是把他们转换成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
- Java Date日期比较
- Java Date Timestamp 日期比较的陷阱
- Date 日期比较
- Date日期类型比较
- java date 日期 date
- 【原创】如何正确比较日期 java.sql.Date
- java中比较两个日期Date的大小
- Java Date 日期排序
- Java date日期操作
- java date日期操作
- java date 日期操作
- java Date 日期格式
- Java中的日期Date
- java Date 日期 格式化
- Java Date日期相关
- java date 比较
- java date 比较时间
- JAVA DATE类型比较
- bzoj 1877: [SDOI2009]晨跑
- Eclipse 出现Access restriction(访问jar包限制)错误
- git commit 过程中error或warning
- for循环的执行顺序
- 路由器开发(一)—— 路由器硬件结构及软件体系
- Java Date日期比较
- C++ 简洁打印 N阶螺旋矩阵
- js打开新窗口的方法
- 华为手机 开启log
- c#使用SQLiteDataAdapter配合DataGridView增删改查数据
- Yii2.0分页
- iOS项目中为控件定义输出口连线
- UIView的drawRect: 和 - (void)setNeedsDisplay 的一些理解
- Java并发编程系列之十六:Lock锁