我正在尝试使用 Facebook (API) FQL 获取新闻源。
在尝试对结果进行分页时,我最初使用 LIMIT 和 OFFSET 参数,如下所示:
SELECT post_id,.... FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid = me() AND type = 'newsfeed') AND is_hidden = 0 LIMIT 20 OFFSET 0
然后每次,我到达末尾ListView
,我运行另一个查询并通过将 OFFSET 增加 +20 来获取下一组 Feed。我从这个答案中得到了逻辑:https ://stackoverflow.com/a/13265776/450534
然而,问题是,LIMIT 和 OFFSET 参数并不一定会给你所有的结果,搜索 SO 显示 Facebook 建议使用时间限制。
现在我需要修改代码,以便每天获取 Feed。例如:
Initial Set Of Data - `created_time < 1355788800` (17th December)
Second Set Of Data - `created_time < 1355702400` (16th December)
Third Set Of Data - `created_time < 1355616000` (15th December)
.
.
.
.
经过一番搜索,获得了将当前时间转换为 Unix TimeStamp 的解决方案,如下所示:
Date now = new Date();
long unixTime = new Long(now.getTime()/1000);
但是,对于每组新数据,我如何减少Date
1?我试过这段代码:
Calendar newCal = Calendar.getInstance();
Calendar xDate = (Calendar) newCal.clone();
xDate.set(Calendar.DATE, -1);
System.out.println(xDate.getTime().toString());
但结果是:Thu Nov 29 17:18:50 GMT+05:30 2012
当我希望它是 12 月 16 日时。任何帮助将不胜感激。
谢谢你。