java中的时间比较

Zaw*_* oo 0 java

我想比较字符串时间格式,例如是否有人提供的其他api?

public void test() {

    Stirng t1 = "10:30 AM"; // 12-hours format
    Stirng t2 = "11:30 AM"; // 12-hours format
            <or>
    Stirng t1 = "10:30"; // 24-hours format
    Stirng t2 = "11:30"; // 24-hours format

    if(t1.before(t2)) {
        System.out.println(t1 + " is before of " + t2);
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

我想比较字符串时间格式

不要,除非你真的需要.

总的来说 - 随着时间的推移,这对我来说变得更加清晰,看着许多 Stack Overflow问题 - 越早将数据转换为"自然"格式就越好.在这种情况下,自然数据格式表示一天中的时间,而不是字符串.

因此解析所有字符串 - 理想情况下使用Joda Time及其DateTimeFormatter.parseLocalTime方法来创建LocalTime对象.然后它们将自然地具有可比性,并且还可用于您想要做的任何其他事情.保持数据的自然形态,只要你能,只能将其转换为字符串或其他表示,当你绝对来,如序列化到另一台机器.

当然,如果你能避免字符串表示不惜一切会更好.


dte*_*eoh 5

您可以尝试使用Joda Time来解析时间并执行比较.