gpt4 book ai didi

java - 比较两个时间在java中是更大还是更小

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:51 27 4
gpt4 key购买 nike

  Date date1= new java.util.Date();
java.sql.Date Sqldob = new java.sql.Date(date1.getTime());
System.out.println("date" +Sqldob);

Time Sqldob1 = new Time(date1.getTime());
System.out.println("User Time: " +Sqldob1);
String yourTime="09:30:00";

SimpleDateFormat ra = new SimpleDateFormat("HH:mm:ss");
Date yourDate = ra.parse(yourTime);
Time sqlTime3 = new Time(yourDate.getTime());
System.out.println("your time"+sqlTime3);

if(Sqldob1.before(sqlTime3)){
Sqldob1 = sqlTime3;
System.out.println("inside loop");
}

在上面的代码中,我比较了两个时间变量是否相等,但它为所有类型的输入提供了相同的值 -1

最佳答案

您需要使用 Date#before(Date) , Date#after(Date)Date#equals(Date)基本日期比较的方法。

例如:

Date d1 = new Date();
Date d2 = new Date();

if(d1.after(d2)){
// Do something
}

if(d1.before(d2)){
// Do something
}

if(d1.equals(d2)){
// Do something
}

您可以使用 Date#compareTo(Date)方法,但是随后,您需要相应地解释 compareTo 方法的输出。

正如文档所说:

The value 0 if the argument Date is equal to this Date; a value less than 0 if this Date is before the Date argument; and a value greater than 0 if this Date is after the Date argument.

在你的例子中,你得到 -1 因为

  1. new SimpleDateFormat("HHH:mm:ss"); 是错误的。应该是新的 SimpleDateFormat("HH:mm:ss");

  2. int compare= sqlTime3.compareTo(Sqldob1); 这个sqlTime3里面只有时间。日期是你没有提到的纪元日期,因此,它总是在 new Date() 之前,也就是 今天

您的解决方案:-(希望这能解决您的问题)

java.util.Date date1= new java.util.Date();

Time Sqldob1 = new Time(date1.getTime());
System.out.println("User Time: " +Sqldob1);

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 19); // Your hour
cal.set(Calendar.MINUTE, 30); // Your Mintue
cal.set(Calendar.SECOND, 00); // Your second

Time sqlTime3 = new Time(cal.getTime().getTime());
System.out.println("your time: "+sqlTime3);

if(Sqldob1.before(sqlTime3)){
Sqldob1 = sqlTime3;
System.out.println("inside loop");
}

关于java - 比较两个时间在java中是更大还是更小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19046058/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com