在我的 iPhone 应用程序中,我想查询过去的记录。有一个名为 "task_dateTime" 的日期时间字段。如果使用,从任务中选择task_dateTime;结果将如下所示,2012 年 4 月 26 日 16:32 2012 年 4 月 27 日 16:38 2012 年 4 月 29 日 05:32
我如何查询过去的记录。这意味着我想将“task_dateTime”字段与当前时间进行比较。
在我的 iPhone 应用程序中,我想查询过去的记录。有一个名为 "task_dateTime" 的日期时间字段。如果使用,从任务中选择task_dateTime;结果将如下所示,2012 年 4 月 26 日 16:32 2012 年 4 月 27 日 16:38 2012 年 4 月 29 日 05:32
我如何查询过去的记录。这意味着我想将“task_dateTime”字段与当前时间进行比较。
试试select task_dateTime from tasks where task_dataTime < CURRENT_TIME
;
对于当前日期: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [格式化程序 setDateFormat:@"MM-dd-yyyy"]; NSString *dateString=[格式化字符串FromDate:[NSDate date]];
[current_date setText:dateString]; //current_date 将是您的文本框的名称...
然后比较两个字符串...
by isequal to string
我假设您正在寻找 SQLite 日期逻辑,您可以将日期逻辑放在一个where
子句中。如果是这种情况,值得注意的是 SQLite 甚至没有正确的日期/时间数据类型,如此处所述。显然,一旦您将字符串恢复为 Objective C,您就可以使用 NSDateFormatter 对字符串进行一些转换,但是如果您想要在 SQLwhere
子句中使用日期逻辑,那么您真的必须遵守 SQLite 对 SQLite 中概述的时间字符串格式的指导日期时间函数。
如果你想要一个人类可读格式的日期,你可以使用类似“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 语句将检索所有三行。第二个只返回其中两个。