在我的iPhone应用程序中,我想查询过去的记录。有一个datetime字段,名为“task_dateTime”。如果使用, 从任务中选择task_dateTime; 结果将如下所示, 2012年4月26日16:32 2012年4月27日16:38 2012年4月29日05:32
如何查询过去的记录。这意味着我想与“task_dateTime”字段与当前时间进行比较。
答案 0 :(得分:3)
尝试select task_dateTime from tasks where task_dataTime < CURRENT_TIME
;
答案 1 :(得分:1)
目前的日期: NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@“MM-dd-yyyy”]; NSString * dateString = [formatter stringFromDate:[NSDate date]];
[current_date setText:dateString]; // current_date将是TextBox的名称......
然后比较两个字符串...
by isequall to string
答案 2 :(得分:1)
我假设您正在寻找SQLite日期逻辑,您可以将日期逻辑放在where
子句中。如果是这种情况,那么值得注意的是,SQLite甚至没有正确的日期/时间数据类型,如here所述。显然,一旦将其转换回Objective C,就可以使用NSDateFormatter对字符串进行一些转换,但是如果你想在SQL where
子句中使用日期逻辑,那么你真的必须遵循SQLite的格式时间字符串在SQLite Date Time Functions中列出。
如果您想要一个人类可读格式的日期,您可以使用“YYYY-MM-DD HH:MM:SS”格式。请参阅下面的一些示例。您可以使用NSDateFormatter来获取它并将其转换为NSDate,然后您可以从中创建任何您想要的UI格式的日期字符串。
<强>更新强>
以下是一些示例SQL:
create table datetest (dt datetime);
insert into datetest values (datetime('now','-1 day'));
insert into datetest values (datetime('now'));
insert into datetest values (datetime('now','+1 day'));
select * from datetest;
select * from datetest where dt < datetime('now');
第一个select语句将检索所有三行。第二个只返回其中两个。