我正在尝试使用jsoup从我所在城市的交通网站上捕获特定车站的列车到达时间列表。
使用jsoup的getElementById
方法,我已经能够返回一大串到达时间,如下所示:
7:00 7:30 8:00 8:30 9:00 9:30 ...
我想将这些到达时间与预定的事件进行比较。因此,对于此示例,如果用户在8:45预约,我将仅返回 到达时间8:30
。
我将如何做到这一点?
答案 0 :(得分:1)
所以你有字符串7:00 7:30 8:00 8:30 9:00 9:30 ...
如果您必须使用字符串,我想出了以下可能有助于您达到最终结果的代码:
int apptHour = 8, apptMin = 45; // appointment is 8:45
String arrivalTime = ""; // temp var to store latest acceptable arrival time
String times = "7:00 7:30 8:00 8:30 9:00 9:30";
String[] time = times.split(" "); // split your string "7:00 7:30 8:00" etc.
for (String s : time) {
String[] parts = s.split(":"); // split each time into hours and mins
// if appointment is on the hour, remove 1 minute so that we calculate the correct arrival
if (apptMin == 0) { apptHour--; apptMin = 59; }
if (Integer.parseInt(parts[0]) == apptHour) {
if (Integer.parseInt(parts[1]) < apptMin) {
arrivalTime = parts[0] + ":" + parts[1];
}
}
}
System.out.println(arrivalTime);
因此,对于此示例,它将打印8:30
作为8:45
预约的建议到达时间。如果您在8:00
预约,则会建议7:30
作为到达时间,依此类推。
答案 1 :(得分:0)
String#split(String)
String
,其中包含空格分隔符,并将每个值与预约时间进行比较。