我必须使用Jsoup从html文件中检索时间戳。我正在执行以下步骤:
1.我使用Jsoup直接连接到URL以获取时间戳。
Connection connection =Jsoup.connect(new URL(url_name)).timeout(15000);
Document doc = connection.get();
Element tbody = doc.select("tbody").first();
Elements elements=tbody.children();
String str=elements.get(0).getElementsByClass("views-field-changed").text();
System.out.println(str);
2. URL的内容是href和时间戳
<tbody>
<tr class="odd views-row-first">
<td class="views-field-phpcode">
<a href="">12345</a> </td>
<td class="views-field-changed">
2012-03-06 22:22:31 </td>
</tr>
</tbody>
3.解析此时间戳时,我发现它没有正确检索时间戳。
使用步骤1中给出的代码,我可以将时间戳检索为2012-03-06 16:16:31而不是2012-03-06 22:22:31。请注意小时和分钟的变化。
你能告诉我如何找回它们吗?这真的很紧急。
答案 0 :(得分:1)
我认为,问题出在时区。当您使用浏览器浏览此站点时,它会检查您的时区并相应地更改时间戳。 因此,解决方案是在解析此时间戳时更改时区:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getDefault()); //or set your timezone directly
String timestamp = format(date);