Java 比较两个字符串时间:a 时间不能大于 b 时间的两小时
可以使用Java的SimpleDateFormat类来处理日期和时间。以下是一个示例代码,演示如何比较两个字符串类型的时间,并确保a时间不大于b时间的两小时。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeComparison {
public static void main(String[] args) {
String a = '2021-09-01 10:30:00';
String b = '2021-09-01 12:30:00';
SimpleDateFormat format = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');
try {
Date dateA = format.parse(a);
Date dateB = format.parse(b);
// 将b时间往前推两小时
Calendar cal = Calendar.getInstance();
cal.setTime(dateB);
cal.add(Calendar.HOUR_OF_DAY, -2);
Date twoHoursBeforeB = cal.getTime();
// 比较a时间和推前两小时的b时间
if (dateA.compareTo(twoHoursBeforeB) <= 0) {
System.out.println('a时间不大于b时间的两小时');
} else {
System.out.println('a时间大于b时间的两小时');
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,我们首先创建了两个字符串类型的时间a和b。然后,使用SimpleDateFormat类将这两个字符串解析为Date类型的对象。接下来,我们使用Calendar类将b时间往前推两小时,并将结果存储在twoHoursBeforeB变量中。最后,我们使用Date类的compareTo方法比较a时间和推前两小时的b时间,根据比较结果输出相应的信息。
请注意,上述代码假设输入的时间字符串格式为'yyyy-MM-dd HH:mm:ss',如果实际输入的时间字符串格式不同,需要相应调整SimpleDateFormat类的构造函数参数。
原文地址: https://www.cveoy.top/t/topic/pcTv 著作权归作者所有。请勿转载和采集!