2016-07-23 3 views
0

Если я сохранить исходный HTML со страницы прямого сообщения в Twitter, я нахожу что-то вроде этого, который, кажется, включают в себя подробную временную метку:Как интерпретировать данные времени в Twitter DM

< поверочного класс = "_ метки времени "данные Aria метка части =" последний»данные время = "1469168058" данные на больших формы = "истина" данные включают в-сек = "истина" > 22 июля </SPAN >

Если бы я прочитайте эти данные (например, в Java, в том числе только java.io. *), есть ли способ, чтобы я мог преобразовать число в data-time="1469168058" в дату и время с часами и минутами и, возможно, секундами?

+0

А также дубликат [this] (http://stackoverflow.com/q/8262333/642706) и [this] (http://stackoverflow.com/q/11871120/642706) и многие другие. Перед публикацией просмотрите «Переполнение стека». –

+0

Пожалуйста, @Basil внимательно прочитал мой вопрос. Я не спрашивал, как преобразовать «секунды из эпохи» в Java. Я начал с Twitter и html сканирования. Если это то же самое, что и секунды с эпохи Java, отлично. Просто скажи мне. Я выполнил поиск и не смог найти ссылки на «data-time». Сожалею. – believer

+0

Таким образом, это не дублирующий вопрос - по двум причинам. Во-первых, как я сказал выше, это был вопрос Twitter. Во-вторых, «дублированные» ответы не совсем правильные - Twitter корректирует значение секунд для моего местного времени. Преобразование правильное для местного времени * если * я не устанавливаю часовой пояс. – believer

ответ

0

Unix/Posix время

Подсчет около полутора миллионов, как правило, означает количество целых секунд с момента первого момента 1970 в UTC. Это обычно называют Unix time or Posix time.

java.time

В Java момент на шкале времени в UTC с разрешением nanosecond представлен Instant класса.

long input = 1_469_168_058L; 
Instant instant = Instant.ofEpochSecond (input); 

Чтобы увидеть тот же самый момент через призму конкретной временной зоны, применяют ZoneId для получения ZonedDateTime объекта.

ZoneId zoneId = ZoneId.of ("America/Chicago"); 
ZonedDateTime zdt = instant.atZone (zoneId); 

Дамп для консоли.

System.out.println ("input: " + input + " | instant: " + instant + " | zdt: " + zdt); 

вход: 1469168058 | мгновенно: 2016-07-22T06: 14: 18Z | zdt: 2016-07-22T01: 14: 18-05: 00 [America/Chicago]

Этот результат совпадает с 22 июля, также включенным в ваш блок данных.

Смежные вопросы