2013-02-11 24 views
0

我想显示上周的记录&删除我的iPhone应用程序中的以前的记录。上周显示记录并删除iPhone中的以前记录使用Sqlite3数据库的应用程序

所以我就在一周后的日期时间使用,

//Now 
nowDate = [entryDateFormat stringFromDate:[NSDate date]]; 

//1 week previous 
weekDate = [entryDateFormat stringFromDate:[[NSDate date] dateByAddingTimeInterval: -604800.0]]; 

然后,在执行SQL查询像

NSString *selectSQL = [NSString stringWithFormat:@"SELECT * FROM tblTest Where Time between \"%@\" and \"%@\"", weekDate, nowDate]; 

查询,以便获得价值::

SELECT * FROM tblTest Where Time between "04-02-2013 17:20:36" and "11-02-2013 17:20:36"; 

与删除之前的记录相同

Delete FROM tblTest Where Time < "04-02-2013 17:20:36"; 

因此,它仅适用于当前日期的第一个,第二个&第三个。
它不会执行上个月的日期,例如'30 -01-2013'& '31 -01-2013'。

我也试试这个:

Delete FROM tblTest Where Time < DATE('now','-7 days'); 

但没有结果:(

哪些源码侧的功能,所以我们可以根据这些功能进行操作,并获得精确值。上周的记录。?

请帮我的这种情况。

在此先感谢。

回答

0

首先,
在节省时间,

NSTimeInterval currentTimeStamp = [[NSDate date] timeIntervalSince1970]; 
NSNumber *currentTimeStampObj = [NSNumber numberWithDouble: currentTimeStamp]; 

[currentTimeStampObj retain]; 

这个存储到数据库作为新的“输入时间”字段。

同时显示数据&删除以前的数据

//Date Formatter 
NSDateFormatter *entryDateFormat; 

//Now Date & Previous Date 
NSString *nowDate, *weekDate; 

NSNumber *currentNowTimeStamp, *pastWeekDateTimeStamp; 

//Today 
nowDate = [entryDateFormat stringFromDate:[NSDate date]]; 

NSTimeInterval currentTimeStamp = [[NSDate date] timeIntervalSince1970]; 
currentNowTimeStamp = [NSNumber numberWithDouble:currentTimeStamp]; 

[currentNowTimeStamp retain]; 

NSLog(@" Time :::: %@", currentNowTimeStamp); 

//Past Week Date 
weekDate = [entryDateFormat stringFromDate:[[NSDate date] dateByAddingTimeInterval: -604800.0]]; 

currentTimeStamp = [[[NSDate date] dateByAddingTimeInterval: -604800.0] timeIntervalSince1970]; 
pastWeekDateTimeStamp = [NSNumber numberWithDouble: currentTimeStamp]; 

[pastWeekDateTimeStamp retain]; 

NSLog(@" Past Week Time :::: %@", pastWeekDateTimeStamp); 

查询::

NSString *deleteSQL = [NSString stringWithFormat:@"Delete FROM tblTest Where entry time < \"%@\"", pastWeekDateTimeStamp]; 

结果:: Delete FROM tblTest Where entry time < "1360392911.010868"

NSString *selectSQL = [NSString stringWithFormat:@"SELECT * FROM tblTest Where Time between \"%@\" and \"%@\"", pastWeekDateTimeStamp, currentNowTimeStamp]; 

结果:: SELECT * FROM tblTest Where entry time between "1360392911.010868" and "1360997711.010534"

我得到了我想要的确切解决方案。

干杯.. !!

快乐编码..

相关问题