2011-02-16 92 views
2

在我的SQLite數據庫中,我有一個名爲datekey的列TIMESTAMP我該如何將NSDate存儲在SQLite數據庫中?

如何將我的NSDate對象存儲在數據庫中?

從我的班級之一,我已經轉換的NSString到適當的日期這樣

dateStr = [NSString stringWithFormat:@"%@ 00:00:00 AM +0000",dateStr]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss a Z"]; 
NSDate *dateToBeReturned = [formatter dateFromString:dateStr]; 

現在我想保存這些「dateToBeReturned」到SQLite數據庫。

請幫

回答

11

時間戳是自1970年以來的秒數的整數,因此,我們可以使用下面的方法:

[[NSDate date] timeIntervalSince1970]; 

更換[NSDate的日期]與你的NSDate對象。

更新:

爲了澄清,返回TimeInterval所通過的NSDate是Double類型的,所以你可能要小心鑄造爲數字有時行爲古怪。

我忘了提及的另一件事是,此時間戳不包含可能與您的特定應用程序相關的時區信息。有可用的字符串格式可以使用NSDateFormatter存儲,但您也可以添加一個包含時區信息的單獨列。

+0

感謝您的解決方案。現在我陷入了另一個麻煩。當我試圖匹配日期。它展現了一些有價值的東西。我正在使用這個 NSString * Sql = @「SELECT ZTIMESLOT,ZAGENDA1,ZAGENDA2 FROM tbl_agenda where tbl_agenda.ZDATEKEY =%d」; \t \t \t NSString * sqlFormated = [NSString stringWithFormat:Sql,date]; – Tariq 2011-02-16 07:59:14

相關問題