获取FQL查询的当前日期+ 1天

时间:2013-11-18 18:00:19

标签: java android date facebook-fql

我需要获取当前日期,例如“yyyy-mm-dd”,而不是小时和分钟。 而且我需要当天24小时,所以进一步这一天。

我需要在我的fql查询中这是我的查询:

String FQL + = .... AND start_time<'" + startTime + "' AND start_time>'" + endTime + "'  LIMIT 25"

我正在使用此代码执行此操作,但它不起作用:

Date myDate = new Date();
            Date endTime = new Date(myDate.getTime() + 86400000L);
            Date startTime = new Date(myDate.getTime());

4 个答案:

答案 0 :(得分:1)

startTime&lt; endTime

,因为

Date startTime = new Date(myDate.getTime());
Date endTime = new Date(myDate.getTime() + 86400000L);

如何表达

 X<'" + startTime + "' AND X>'" + endTime + "'

永远是真的吗?

 X < startTime                                      X > endTime 
---------------------------+---------------------+--------------------------
                       startTime               endTime

我用X替换它以更好地区分start_time和startTime

答案 1 :(得分:0)

使用Calendar个实例。

Calendar calendar = Calendar.getInstance();
SimpleDateFormat sf = new SimpleDateFormat("yyy-MM-dd");
String startTime = sf.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
String endTime = sf.format(calendar.getTime());

正如Rene正确指出的那样,start_time需要比startTimestart_time > startTime)更大,而且比endTimestart_time < endTime)更小。

我还要指出joda-time,这使得日期的处理更加舒适。但为了您的目的,上面的代码就可以了。

答案 2 :(得分:0)

使用java.util.Calendar

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1); // adds 1 day
calendar.getTime(); // returns the Date

祝你好运!

答案 3 :(得分:0)

编辑: 我读到它好像问题只是关于格式,但RenéLink指出的是正确的:你的查询永远不会产生任何结果。

使用java.util.Date,它类似于:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
long now = System.currentTimeMillis();
Date today = new Date(now);
Date tomorrow = new Date(now + 86400000); // 24 * 60 * 60 * 1000
System.out.println("Today: " + dateFormat.format(today) + 
                   "\nTomorrow: " + dateFormat.format(tomorrow));

使用java.sql.Date它会变得更简单:

long now = System.currentTimeMillis();
Date today = new Date(now);
Date tomorrow = new Date(now + 86400000);
System.out.println("Today: " + today + "\nTomorrow: " + tomorrow);

也许您可能希望使用java.util.Calendar.getInstance().getTime()代替System.currentTimeMillis()来创建第一个日期。然后,您只需要以毫秒为单位获得第一个日期的时间,将86400000添加到第二个日期。