可以使用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类的构造函数参数。

Java 比较两个字符串时间:a 时间不能大于 b 时间的两小时

原文地址: https://www.cveoy.top/t/topic/pcTv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录