Разбор временной метки в html-файле с помощью Jsoup - PullRequest
0 голосов
/ 27 марта 2012

Мне нужно получить метку времени из файла html, используя Jsoup. Я делаю следующие шаги:

1. Я напрямую подключаюсь к URL-адресу с помощью Jsoup, чтобы получить метку времени.

    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 Ответ

1 голос
/ 27 марта 2012

Я думаю, проблема в часовом поясе. Когда вы просматриваете этот сайт с помощью браузера, он проверяет ваш часовой пояс и соответственно меняет отметку времени. Итак, решение состоит в том, чтобы изменить часовой пояс при разборе этой временной метки:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setTimeZone(TimeZone.getDefault()); //or set your timezone directly
    String timestamp = format(date);
...