Ios SQLIte比较日期时间

Ios SQLIte比较日期时间,ios,sqlite,datetime,Ios,Sqlite,Datetime,ios应用程序中比较sqlite3中日期时间字符串的最简单方法是什么。 我以以下方式存储datetime字符串 NSDateFormatter* df=[[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-dd HH:mm"]; NSString* dtString=[df stringFromDate:[NSDate date]]; 然后我将dtString插入表中。因此,在我想要检索所有行之后,例如仅检索最近

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

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\u t
(即现在的时间,自UNIX epoch以来),然后使用一些简单的子句来获取这些行:

... WHERE date >= ?
并将
绑定到
gmtime(time(NULL))-60**60*24*2

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

(time_t)[date timeIntervalSince1970]

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

如果要在
WHERE
子句中使用日期列,则可以存储从
gmtime(time(NULL))
返回的
time\u t
(即现在的时间,自UNIX epoch以来),然后使用一些简单的子句来获取这些行:

... WHERE date >= ?
并将
绑定到
gmtime(time(NULL))-60**60*24*2

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

(time_t)[date timeIntervalSince1970]

但是有一些datetime函数,我认为可能会有所帮助,那么使用strftime(format,timestring,modifier,modifier,…)如何呢?我的方法是让数据库进行过滤变得很简单,因此将其编码为一个简单的整数。以及如何将NSDate转换为该整数?
(time)[date timeIntervalSince1970]
,我忘记了这个方法:)但是有datetime函数,我认为可能会有帮助,那么使用strftime(格式、时间字符串、修饰符、修饰符等等)怎么样?我的方法是让数据库进行过滤变得简单,因此将其编码为一个简单的整数。以及如何将NSDate转换为那个整数?
(time\t)[日期-时间间隔1970]
。哎呀,我忘了这个方法:)