比较时间字符串的问题

最近做Web UI方面的测试,遇到这样一个问题:某设备界面有一个开机时间显示Uptime: 9minutes 21seconds,这里添加一个测试需要比较刷新变动之后的Uptime比之前的Uptime多,比如之前是9minutes 21seconds,后来是9minutes 23seconds,后来的时间应该比之前的晚/多。

这里涉及到时间字符串转换的问题,找了半天,最后大致用如下代码解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
public static void main(String []args) {
doSomething();
}

public static Date parse(String strDate) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("mm'minutes' ss'seconds'");
return sdf.parse(strDate);
}

public static void doSomething() {
try {
Date cur = parse("12minutes 22seconds");
Date later = parse("12minutes 29seconds");
System.out.println(cur.before(later));
} catch (ParseException e) {
e.printStackTrace();
}
}
}