Как конвертировать Facebook созданный_время в Java Date? - PullRequest
2 голосов
/ 09 июня 2010

У меня есть утверждение FQL, подобное этому:

String query = "SELECT post_id, actor_id, target_id, created_time, message 
FROM stream WHERE source_id in (SELECT target_id FROM connection 
WHERE source_id=<userID>) AND is_hidden = 0";

Мне просто интересно, сколько времени мне дает Facebook.Результат моего утверждения будет сопоставлен с объектом-оберткой (wallpost).

myDate.setTime(wallpost.getCreated_time());

не дает мне действительной даты.

Кто-нибудь знает, какую дату возвращает Facebook и как сопоставить ее с датой ()?

заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

Это может иметь несколько причин.Два наиболее возможных:

  1. created_time в секундах, в то время как Date#setTime() ожидает миллисекунды.Перед настройкой умножьте его на 1000.

  2. created_time представляет 24-часовые часы, а не метку времени эпохи, как ожидает Date.Перед установкой добавьте метку времени сегодня в 00:00.

Чтобы определить одно или другое, выполните

System.out.println(wallpost.getCreated_time()); 

и

System.out.println(myDate);

чтобы вы могли логически завершить себя.

1 голос
/ 09 июня 2010

Решение: умножьте метку времени Facebook на 1000. Facebook экономит секунды, а не миллисекунды.

это сделало работу:

myDate.setTime(wallpost.getCreated_time()*1000); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...