ios app中最简单的方法是比较sqlite3中的日期时间字符串。 我按以下方式存储日期时间字符串。
NSDateFormatter* df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString* dtString=[df stringFromDate:[NSDate date]];
然后我将dtString插入表中。所以在我想要检索所有行之后,例如最近两天。
答案 0 :(得分:1)
sqlite3不包含DATETIME
类型,因此您需要考虑对其进行编码的方法。
如果要在WHERE
子句中使用日期列,则可以存储从time_t
返回的gmtime(time(NULL))
(即现在的时间,自UNIX纪元以来),然后使用一些获取这些行的simple子句:
... WHERE date >= ?
将?
绑定到gmtime(time(NULL)) - 60**60*24*2
编辑:如果您想完全保留在Objective-C中,则可以使用以下内容从NSDate
对象确定相同的日期值:
(time_t)[date timeIntervalSince1970]