SQLIte比较datetime

时间:2013-02-08 15:01:06

标签: ios sqlite datetime

ios app中最简单的方法是比较sqlite3中的日期时间字符串。 我按以下方式存储日期时间字符串。

NSDateFormatter* df=[[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd HH:mm"];
    NSString* dtString=[df stringFromDate:[NSDate date]];

然后我将dtString插入表中。所以在我想要检索所有行之后,例如最近两天。

1 个答案:

答案 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]