使用Jsoup解析html文件中的时间戳

时间:2012-03-27 07:05:29

标签: jsoup

我必须使用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。请注意小时和分钟的变化。

你能告诉我如何找回它们吗?这真的很紧急。

1 个答案:

答案 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);