2013-02-08 317 views
1

什麼是最簡單的方法在ios應用程序來比較sqlite3中的日期時間字符串。 我以下面的方式存儲日期時間字符串。SQLIte比較日期時間

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

然後我插入dtString到表中。所以,我想要檢索所有行,例如只在過去兩天。

回答

1

sqlite3不包含DATETIME類型,因此您需要考慮對其進行編碼的方式。

如果你想在一個WHERE子句中使用日期列,那麼你可以存儲time_tgmtime(time(NULL))返回(現在即時間,因爲UNIX紀元),然後使用一些簡單的條款來獲得這些行:

... WHERE date >= ? 

而且綁定?gmtime(time(NULL)) - 60**60*24*2

編輯:

:如果你想在Objective-C完全停留,然後在同一日期值可以從一個 NSDate使用對象確定
(time_t)[date timeIntervalSince1970] 
+0

http://www.sqlite.org/lang_datefunc.html 但也有日期時間函數,我認爲可能有幫助,有關使用的strftime什麼(格式,TIMESTRING,改性劑,改性劑,...)? – taffarel 2013-02-08 15:11:40

+0

我的方法是讓數據庫進行篩選變得微不足道,因此將其編碼爲一個簡單的整數。 – trojanfoe 2013-02-08 15:12:39

+0

以及如何將NSDate轉換爲該整數? – taffarel 2013-02-08 15:15:34