在ios应用程序中比较sqlite3中的日期时间字符串的最简单方法是什么。我以以下方式存储日期时间字符串。
NSDateFormatter* df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString* dtString=[df stringFromDate:[NSDate date]];
然后我将dtString插入到表中。所以,在我想检索所有行之后,例如,只检索最后两天的行。
sqlite3不包含DATETIME
类型,因此您需要考虑对其进行编码的方法。
如果您想在WHERE
子句中使用日期列,那么您可以存储从gmtime(time(NULL))
返回的time_t
(即从UNIX epoch开始的时间),然后使用一些简单的子句来获取这些行:
... WHERE date >= ?
并将?
与gmtime(time(NULL)) - 60**60*24*2
结合
EDIT:如果你想完全停留在Objective-C中,那么可以使用从NSDate
对象中确定相同的日期值
(time_t)[date timeIntervalSince1970]