Date中比较两个日期的方法

时间:2024-03-29 10:55:01

很久前,项目中有一个打卡业务需求,需要判断用户签到的时间段。

一开始考虑的特别复杂的时间判断。

后天来发现,Date中有时间比较的方法beforeafter

1、使用after/before进行日期比较时注意:

date1.after(date2) --在某个时间之后
当date1大于date2时,返回true,当小于等于时,返回false;

date1.before(date2) --在某个时间之前
当date1小于date2时,返回true,当大于等于时,返回false.

2、 compareTo()
将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。
该方法用于两个相同数据类型的比较,
通过getMillisOf()获取long类型时间然后比较
Date中比较两个日期的方法
小于的就返回-1,等于的就返回0,大于的就返回1

PS:String类

  • 字符串与对象进行比较
  • 按字典顺序比较两个字符串 ASCII码顺序

int compareTo(Object o)

int compareTo(String anotherString)
Date中比较两个日期的方法

3、使用date.getTime() 返回long,再进行比较

if(date1.getTime() < date2.getTime()) {}

4、SimpleDateFormat的format方法
先将日期型转化成时间或日期的字符串,然后再比较字符串

感谢–图片源码来自:
https://www.baidu.com/link?url=9cWfGQZk_zObIOYK75drcTatDcKonlb4fXijiLCOfcFOMfyZOx21uI1x8yHPf2332oyo3bhoKJvJAkVDwqDce_&wd=&eqid=8f18d56f00025bd7000000065d36c667