java比较日期大小的几种方法

这篇具有很好参考价值的文章主要介绍了java比较日期大小的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Date.compareTo()

java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。

如果两个日期相等,则返回值为0。

如果Date在date参数之后,则返回值大于0。

如果Date在date参数之前,则返回值小于0。

@Test

void testDateCompare() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-01-31");

System.out.println("date1 : " + sdf.format(date1));

System.out.println("date2 : " + sdf.format(date2));

if (date1.compareTo(date2) > 0) {
System.out.println("Date1 时间在 Date2 之后");

} else if (date1.compareTo(date2) < 0) {
System.out.println("Date1 时间在 Date2 之前");

} else if (date1.compareTo(date2) == 0) {
System.out.println("Date1 时间与 Date2 相等");

}

}

输出结果:

date1 : 2009-12-31

date2 : 2019-01-31

Date1 时间在 Date2 之前

2. Date.before(),Date.after()和Date.equals()

一种语义上比较友好的方法来比较两个java.util.Date

@Test

void testDateCompare2() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-01-31");

System.out.println("date1 : " + sdf.format(date1));

System.out.println("date2 : " + sdf.format(date2));

if (date1.after(date2)) {
System.out.println("Date1 时间在 Date2 之后");

}

if (date1.before(date2)) {
System.out.println("Date1 时间在 Date2 之前");

}

if (date1.equals(date2)) {
System.out.println("Date1 时间与 Date2 相等");

}

}

输出结果

date1 : 2009-12-31

date2 : 2019-01-31

Date1 时间在 Date2 之前

3. Calender.before(),Calender.after()和Calender.equals()

使用java.util.Calendar比较两个Date日期

@Test

void testDateCompare3() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-01-31");

System.out.println("date1 : " + sdf.format(date1));

System.out.println("date2 : " + sdf.format(date2));

Calendar cal1 = Calendar.getInstance();

Calendar cal2 = Calendar.getInstance();

cal1.setTime(date1);

cal2.setTime(date2);

if (cal1.after(cal2)) {
System.out.println("Date1 时间在 Date2 之后");

}

if (cal1.before(cal2)) {
System.out.println("Date1 时间在 Date2 之前");

}

if (cal1.equals(cal2)) {
System.out.println("Date1 时间与 Date2 相等");

}

}

输出结果:

date1 : 2009-12-31

date2 : 2019-01-31

Date1 时间在 Date2 之前

4. Java 8日期比较方法

在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()来比较LocalDate,LocalTime和LocalDateTime。以下示例以比较两个java.time.LocalDate

@Test

void testDateCompare4() throws ParseException {
DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDate date1 = LocalDate.of(2009, 12, 31);

LocalDate date2 = LocalDate.of(2019, 1, 31);

System.out.println("date1 : " + sdf.format(date1));

System.out.println("date2 : " + sdf.format(date2));

System.out.println("Is...");

if (date1.isAfter(date2)) {
System.out.println("Date1 时间在 Date2 之后");

}

if (date1.isBefore(date2)) {
System.out.println("Date1 时间在 Date2 之前");

}

if (date1.isEqual(date2)) {
System.out.println("Date1 时间与 Date2 相等");

}

}

输出结果

date1 : 2009-12-31

date2 : 2019-01-31

最后上个干货  取出来一个l日期list里面最小的日期

ArrayList<Date> datesList = new ArrayList<>();
Date minDate = Collections.min(datesList);//取表中最小的日期

LocalDate minDate = dates.stream()
                            .min( Comparator.comparing( LocalDate::toEpochDay ) )
                            .get();  //这个我没试过,应该可以用  感兴趣试试

List<String> nameList  = list.stream().map(Person::getName).collect(Collectors.toList());这个大家都看的懂吧  没错  就是取对象中的一个属性封装成list文章来源地址https://www.toymoban.com/news/detail-769189.html

到了这里,关于java比较日期大小的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 没有jodatime,rust里怎么比较两个日期(时间)的大小呢?

    在 Rust 中,比较两个日期的大小有多种方法。以下是列举的四种常见方法: 这些方法中,前两种使用 PartialOrd 和 Ord trait 进行日期比较,第三种结合了 PartialEq 和 Eq trait,而第四种方法使用 DateTime 类型的 timestamp 进行比较。

    2024年02月14日
    浏览(38)
  • Java--比较日期大小

    有两个日期字符串,如: 需要比较两个日期的大小,有如下三种方法 1、Date自带 before( )和 after()方法比较 2、String的compareTo()方法 返回正值代表左侧日期大于参数日期,反之亦然  注:日期格式必须一致 3、将日期字符串 转成 Date格式,然后换成秒数比较秒数大小,getTime()方

    2024年02月12日
    浏览(37)
  • Mysql中日期比较大小的方法

    在MySQL中,我们经常需要比较日期的大小来进行查询和排序操作。本文将详细介绍在MySQL中进行日期比较大小的方法,并提供相应的源代码示例。 在MySQL中,日期可以使用DATE类型进行存储和比较。为了比较两个日期的大小,我们可以使用比较运算符(如大于、小于和等于)或

    2024年02月06日
    浏览(34)
  • Mysql 中日期比较大小的方法有哪些?

    在 MySQL 中,你可以使用多种方法来比较日期的大小。以下是一些常用的方式: 使用比较运算符: SELECT * FROM your_table WHERE your_date_column \\\'2023-01-01\\\'; 这将选择日期列值大于 \\\'2023-01-01\\\' 的所有记录。 使用比较运算符和 NOW() 函数: SELECT * FROM your_table WHERE your_date_column NOW(); 这将选择

    2024年02月03日
    浏览(37)
  • Java如何比较两个日期的先后顺序

    在 Java 中,你可以使用 `java.util.Date` 或 `java.time.LocalDate` 类来比较两个日期的先后顺序。 以下是使用 `java.util.Date` 类比较两个日期的先后顺序的示例代码: ```java import java.util.Date; public class DateComparisonExample {     public static void main(String[] args) {         Date date1 = new Date(); // 第

    2024年02月13日
    浏览(35)
  • bash中执行比较的几种方法

    bash 脚本中的 test 命令用于检查表达式的有效性,检查命令或表达式为 true 或者 false。此外,它还可以用于检查文件的类型和权限。 如果命令或表达式有效, 则 test 命令返回0,否则返回1。 使用 test 命令 test 命令的基本语法如下所示: 如果其中用到了变量,需要在变量名中

    2024年02月07日
    浏览(33)
  • python 判断是否汉字的几种方法

    1. 使用Python内置的ord() ord()函数将字符转换为Unicode编码,然后判断其范围是否在汉字的范围内: 示例代码: 2. 使用Python内置的unicodedata库: 使用Python内置的unicodedata库可以用来判断一个字符是否为汉字 示例代码: 3. 使用正则表达式 可以使用正则表达式来判断一个字符是否为

    2024年02月12日
    浏览(61)
  • Java判断null的几种方式

    组内code review时,有同学提到字符串判断空值的写法,如下两种, (1)null在后, (2)null在前, 这两种写法,有什么区别? 这两个测试,都可以执行,有种解释是,null放在前面是为了避免少写一个\\\"=\\\",因为\\\"null=\\\"书写会报错,防止笔误写成\\\"=null\\\",不会报错,进而漏掉问题。

    2024年02月13日
    浏览(37)
  • C语言中判断素数的几种方法

    作为C的初学者们希望大家看看这几种判断素数的方法 既然进来了就看完把 题目要求: 判断n是否为素数。 首先我们讲一下素数的判定:素数就是只能被1或者本身整除的数,这就延伸出了几种不同的判定方法。 方法一:因为判断素数相当于就是判断这个数能不能整除2-这个数

    2024年02月11日
    浏览(35)
  • JavaScript中 判断网络状态的几种方法

    1. 使用 Navigator onLine 属性 Navigator onLine 属性判断浏览器是否在线,在线返回 true,离线返回 false; Navigator onLine 是只读属性,所有主流浏览器都支持 onLine 属性; 2. 使用 ononline、onoffline 事件 这两个方法属于 “侦听器”,在网络连接 / 断开的瞬间会触发(当网络从离线变为在

    2024年01月24日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包