JAVA 日期时间比较

这篇博客介绍了JAVA中对日期时间的比较方法,包括使用SimpleDateFormat的format方法转换日期为字符串进行比较,以及直接通过Date对象的getTime方法进行数值比较。还提到了compareTo方法和Date的after、before方法,讲解了如何判断两个日期的先后关系。
摘要由CSDN通过智能技术生成

JAVA 日期时间比较

  • SimpleDateFormatformat****方法将日期型转化成时间或日期的字符串,然后再比较字符串。

String startTimeStr = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss:SSS”).format(new Date());//2018-08-13 10:22:48.883

String endTimeStr = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss:SSS”).format(new Date());//2018-08-13 10:22:49.225

字符串时间比较大小

  • date.getTime()
  1. 相加减或直接比较用大于小于号比较

Date startTime= df.parse(startTimeStr);

Date endTime= df.parse(endTimeStr);

if (startTime.getTime() > endTime.getTime()) {

return true;// startTime在endTime前

}

  1. 用****compareTo

compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Double, Integer, Float, Long 或 Short等。该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。

10.compareTo(3);//返回值1

3.compareTo(3);//返回值0

2.compareTo(3);//返回值-1

返回值:如果指定的数与参数相等返回0,如果指定的数小于参数返回 -1。如果指定的数大于参数返回 1。

  • Date aftereforeequals直接比较

1**、after:返回值 true如果代表Date对象是严格迟于when表示的时刻; 否则为false。**

if (startTime.after(endTime)){

//表示startTime晚于endTime

}else{

–反之

}

2**、before:返回值 true如果Date对象在when表示的时刻之前,否则为false。**

if (startTime.before(endTime)){

//表示startTime早于endTime

}else{

–反之

}

Java中可以使用`java.util.Date`类和`java.time.LocalDateTime`类来进行日期时间比较。 使用`java.util.Date`类的比较方法是通过`compareTo()`方法实现的,该方法会返回一个整数值,用于表示两个日期时间的先后顺序。如果返回值为0,则表示两个日期时间相等;如果返回值小于0,则表示当前日期时间比较日期时间之前;如果返回值大于0,则表示当前日期时间比较日期时间之后。 下面是使用`java.util.Date`类比较两个日期时间的示例代码: ```java Date date1 = new Date(); Date date2 = new Date(); int result = date1.compareTo(date2); if(result == 0) { System.out.println("日期时间相等"); } else if(result < 0) { System.out.println("date1在date2之前"); } else { System.out.println("date1在date2之后"); } ``` 使用`java.time.LocalDateTime`类的比较方法是通过`compareTo()`方法实现的,该方法与`java.util.Date`类的`compareTo()`方法类似,返回一个整数值,用于表示两个日期时间的先后顺序。 下面是使用`java.time.LocalDateTime`类比较两个日期时间的示例代码: ```java LocalDateTime dateTime1 = LocalDateTime.now(); LocalDateTime dateTime2 = LocalDateTime.of(2022, Month.JANUARY, 1, 0, 0, 0); int result = dateTime1.compareTo(dateTime2); if(result == 0) { System.out.println("日期时间相等"); } else if(result < 0) { System.out.println("dateTime1在dateTime2之前"); } else { System.out.println("dateTime1在dateTime2之后"); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值