Java Android 比较字符串格式的时间



我有一个字符串,其中包含以下格式的时间:

"hh:mm tt"

例如,您可以将当前时间表示为"晚上 7:04"

如何将其与用户时区中的当前时间进行比较,以查看此时间是小于、等于还是大于当前时间?

您可以将String转换为Date

String pattern = "<yourPattern>";
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
try {
 Date one = dateFormat.parse(<yourDate>);
 Date two = dateFormat.parse(<yourDate>);
}
catch (ParseException e) {}

它实现了可比较的接口,因此您应该能够将它们与compareTo()进行比较


编辑:我忘了,但你知道,但只能确定比较返回 -1、1 或 0,所以one.compareTo(two)在第一个 ist 之前返回 -1 等等。

下面的代码详细说明了@Sajmon的答案。

public static void main(String[] args) throws ParseException {
    String currentTimeStr = "7:04 PM";
    Date userDate = new Date();
    String userDateWithoutTime = new SimpleDateFormat("yyyyMMdd").format(userDate);
    String currentDateStr = userDateWithoutTime + " " + currentTimeStr;
    Date currentDate = new SimpleDateFormat("yyyyMMdd h:mm a").parse(currentDateStr);
    if (userDate.compareTo(currentDate) >= 0) {
        System.out.println(userDate + " is greater than or equal to " + currentDate);
    } else {
        System.out.println(userDate + " is less than " + currentDate);
    }
}

相关内容

  • 没有找到相关文章

最新更新