java 中如何比较时间先后,java中如何进行日期时间比较?4种方法介绍
1. Date.compareTo()
java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。
1、如果两个日期相等,则返回值为0。
2、如果Date在date参数之后,则返回值大于0。
3、如果Date在date参数之前,则返回值小于0。
@Testvoid 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 相等"); } else { System.out.println("程序怎么会运行到这里?正常应该不会"); } }
输出结果:
date1 : 2009-12-31date2 : 2019-01-31Date1 时间在 Date2 之前
2. Date.before(),Date.after()和Date.equals()
一种语义上比较友好的方法来比较两个java.util.Date
@Testvoid 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-31date2 : 2019-01-31Date1 时间在 Date2 之前
3. Calender.before(),Calender.after()和Calender.equals()
使用java.util.Calendar比较两个Date日期
@Testvoid 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
@Testvoid 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-31date2 : 2019-01-31Is...Date1 时间在 Date2 之前
推荐教程:《java教程》
java 中如何比较时间先后,java中如何进行日期时间比较?4种方法介绍相关推荐
- java 获取键盘点击_Java中获取键盘输入值的三种方法介绍
程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...
- mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- Java:对double值进行四舍五入,保留两位小数的几种方法
转载自 Java:对double值进行四舍五入,保留两位小数的几种方法 1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出 ...
- python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍
本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...
- ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍
Ubuntu系统如何禁用ipv6呢?ipv6的普及将会需要很长一段时间,接下来的文章中小编将会介绍在Ubuntu系统中禁用ipv6的方法,有需要的朋友不要错过哦! Pv6 介绍 Pv6 旨在提高安全性 ...
- python右对齐格式化输出_Python中格式化输出的两种方法介绍
本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...
- php 在函数里打开链接,JavaScript中打开链接的几种方法介绍
如何使用JavaScript打开链接?本篇文章我们就来看看使用JavaScript打开链接的几种方法介绍. 我们先来看一段代码 使用Javascript实现打开链接,需要在location.href中 ...
- 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍
大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...
- cad画直角命令_在cad中怎么画角度?cad画角度三种方法介绍
cad是应用最广泛的计算机辅助设计软件,学会使用cad怎么画角度是必不可少的,尤其是对于新手来说,更应该学习.那么在cad中怎么画角度?下面小编就为大家介绍三种cad画角度方法,希望对大家有所帮助! ...
最新文章
- LeetCode简单题之字符串中的单词数
- 函数包装器,函数私有类处理
- Linux配置环境变量source时报错:export `=‘ not a valid identifier的一般原因
- Linux探秘之用户态与内核态
- jmeter file upload 变量_通达OA上传漏洞之变量覆盖分析
- linux的文件 I/O操作
- 数学建模 TOPSIS法
- ASP.NET Cache缓存管理基于web的缓存
- 感应联动不是梦,穿透屏幕“闻”见花香你敢信?
- 大量的数据做字符串匹配_Python Flashtext 实现大数据集下高效的关键词查找和替换...
- 从写博文,看模块化思维的应用
- ECSHOP获取当前分类下商品的品牌列表
- wps分析工具库如何加载_量化分析|TALib超好用的技术库,再给它封装一层如何!...
- 电气工程学计算机有用吗,电气工程及其自动化就业方向 有前途吗
- 用编程器免拆夹子刷斐讯K2 K2P解决难搞固件 刷BREED 无损原EEPROM
- 想知道中后台的人效如何计算吗,我知道!
- win7电脑麦克风有电流声怎么办
- C# 调用outlook 收发邮件
- nginx代理本地JBoss访问吃力的问题
- 用计算机测缘分,用两人的姓名测姻缘 免费测试两个人的缘分