1

在 ios 应用程序中比较 sqlite3 中的日期时间字符串的最简单方法是什么。我以下列方式存储日期时间字符串。

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

然后我将 dtString 插入表中。因此,在我想仅检索过去两天的所有行之后。

4

1 回答 1

1

sqlite3 不包含DATETIME类型,因此您需要考虑对其进行编码的方法。

如果您想在WHERE子句中使用日期列,那么您可以存储time_t返回的 from gmtime(time(NULL))(即现在的时间,自 UNIX 纪元以来),然后使用一些简单的子句来获取这些行:

... WHERE date >= ?

并将其绑定?gmtime(time(NULL)) - 60**60*24*2

编辑:如果您想完全保留在 Objective-C 中,则可以使用以下对象从NSDate对象中确定相同的日期值:

(time_t)[date timeIntervalSince1970]
于 2013-02-08T15:09:33.610 回答