我将一些数据插入到Sqlite数据库中并在插入之前检查如果这一天的记录已经存在.要检查这一点,我必须查看天数是否> 0.例如,2011-8-6和2011-8-5之间的差异(以天为单位)是1.如何在Java中执行此操作?
编辑:
正如@RayToal所说,这可以在数据库中完成,所以我这样做:
SELECT julianday('now') - julianday(Date(Date)) from VIDEO_HISTORY;
唯一的问题是它给了我十进制数.例如:3.3442346529103816
现在我必须在Java内部决定给定的数字是4天中的3天.
它的代码适用于在youtube上搜索某个术语的应用程序,并将有关每日视图的统计数据写入数据库.用户能够例如每天在20:00安排工作.但是他可以决定在10点重新安排这份工作,所以程序必须明白,差别就是有一天.所以很明显,我必须绕到第一个更大的数字.是否有一些方法或我必须自己写?
EDIT2:根据@ Michael-O提供的链接,这是最好的解决方案(使用JodaTime):
DateTime start = new DateTime(new GregorianCalendar(2011, 8, 4).getTime());
DateTime end = new DateTime(new GregorianCalendar(2011, 8, 8).getTime());
int numberOfDays = Days.daysBetween(start.toDateMidnight(), end.toDateMidnight()).getDays();
System.out.println(numberOfDays);