如何在 Java 中比较两个日期以及时间?
java.time.LocalDateTime 类表示本地日期和时间,即不带时区的日期,你可以使用此对象来替代 Date。该类提供各种方法(如 isBefore()、isAfter() 和 isEqual())来比较两个日期−
示例
import java.time.LocalDateTime;
public class Test {
public static void main(String args[]) {
LocalDateTime dateTime1 = LocalDateTime.of(2007, 11, 25, 10, 15, 45);
LocalDateTime dateTime2 = LocalDateTime.of(1999, 9, 12, 07, 25, 55);
Boolean bool1 = dateTime1.isAfter(dateTime2);
Boolean bool2 = dateTime1.isBefore(dateTime2);
Boolean bool3 = dateTime1.isEqual(dateTime2);
if(bool1){
System.out.println(dateTime1+" is after "+dateTime2);
}else if(bool2){
System.out.println(dateTime1+" is before "+dateTime2);
}else if(bool3){
System.out.println(dateTime1+" is equla to "+dateTime2);
}
}
}输出
2007-11-25T10:15:45 is after 1999-09-12T07:25:55
示例
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CreateDateTime {
public static void main(String args[]) throws ParseException {
String dateTimeStr1 = "26-09-1989 8:27:45";
String dateTimeStr2 = "12-11-2010 2:30:12";
//Instantiating the SimpleDateFormat class
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:SS");
Date dateTime1 = formatter.parse(dateTimeStr1);
Date dateTime2 = formatter.parse(dateTimeStr2);
Boolean bool1 = dateTime1.after(dateTime2);
Boolean bool2 = dateTime1.before(dateTime2);
Boolean bool3 = dateTime1.equals(dateTime2);
if(bool1){
System.out.println(dateTimeStr1+" is after "+dateTimeStr2);
}else if(bool2){
System.out.println(dateTimeStr1+" is before "+dateTimeStr2);
}else if(bool3){
System.out.println(dateTimeStr1+" is equla to "+dateTimeStr2);
}
}
}输出
26-09-1989 8:27:45 is before 12-11-2010 2:30:12
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP