我有一个像这样的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返回什么样的日期以及如何将其与Date()匹配?
提前感谢!
答案 0 :(得分:2)
这可能有几个原因。最可能的两个是:
created_time
以秒为单位,而Date#setTime()
则为毫秒。在设置之前将其乘以1000。
created_time
表示24小时,而不是Date
所期望的纪元时间戳。在设置之前在00:00 AM附加今天的时间戳。
要确定其中一个,请执行
System.out.println(wallpost.getCreated_time());
和
System.out.println(myDate);
这样你就可以在逻辑上结束自己。
答案 1 :(得分:1)
解决方案:将Facebook时间戳乘以1000.Facebook节省秒数,而不是毫秒数。
这完成了这项工作:
myDate.setTime(wallpost.getCreated_time()*1000);