如何在Java中比较字符串格式的两个日期?
java.text.SimpleDateFormat中的 类用于格式化和解析字符串到日期和日期字符串。
此类的构造函数之一接受表示所需日期格式的 String 值并创建 SimpleDateFormat 对象。
将字符串解析/转换为 Date 对象通过传递所需的格式字符串实例化此类。
使用 parse() 方法解析日期字符串。
util.Date 类表示特定的即时时间 该类提供了 before()、after() 和 equals() 等各种方法来比较两个日期。
示例
从字符串创建日期对象后,您可以使用以下任一方法比较它们,如下所示 -
import java.text.ParseException;import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
public static void main(String args[])throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
String dateStr1 = "2007-11-25";
String dateStr2 = "1999-9-12";
//将给定的字符串解析为日期对象
Date date1 = formatter.parse(dateStr1);
Date date2 = formatter.parse(dateStr2);
Boolean bool1 = date1.after(date2);
Boolean bool2 = date1.before(date2);
Boolean bool3 = date1.equals(date2);
if(bool1){
System.out.println(dateStr1+" 是在之后 "+dateStr2);
}else if(bool2){
System.out.println(dateStr1+" 是之前 "+dateStr2);
}else if(bool3){
System.out.println(dateStr1+" 等于 "+dateStr2);
}
}
}
输出结果
2007-11-25 是在之后 1999-9-12
Parse() LocalDate 类的方法
parse()LocalDate 类的方法接受一个表示日期的 String 值并返回一个 LocalDate 对象。
示例
import java.time.LocalDate;public class Test {
public static void main(String args[]){
String dateStr1 = "2007-11-25";
String dateStr2 = "1999-9-12";
LocalDate date1 = LocalDate.parse(dateStr1);
LocalDate date2 = LocalDate.parse(dateStr1);
Boolean bool1 = date1.isAfter(date2);
Boolean bool2 = date1.isBefore(date2);
Boolean bool3 = date1.isEqual(date2);
if(bool1){
System.out.println(dateStr1+" 是在之后 "+dateStr2);
}else if(bool2){
System.out.println(dateStr1+" 是之前 "+dateStr2);
}else if(bool3){
System.out.println(dateStr1+" 等于 "+dateStr2);
}
}
}
输出结果
2007-11-25 等于 1999-9-12
以上是 如何在Java中比较字符串格式的两个日期? 的全部内容, 来源链接: utcz.com/z/322878.html