如何将NSDate存储在SQLite数据库中?

Tar*_*riq 2 sqlite timestamp ios4

在我的SQLite数据库中,我有一个名为datekeytype 的列TIMESTAMP.

我如何将我的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];
Run Code Online (Sandbox Code Playgroud)

现在我想将这个"dateToBeReturned"存储到SQLite数据库中.

请帮忙

Ant*_*udt 12

时间戳是自1970年以来的秒的整数,因此我们可以使用以下方法:

[[NSDate date] timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)

用您的NSDate对象替换[NSDate date].

更新:

为了澄清,NSDate返回的TimeInterval属于类型,Double因此您可能需要小心转换,因为数字有时可能表现得很奇怪.

我忘了提到的另一件事是这个时间戳不包含可能与您的特定应用程序相关的时区信息.有可用的字符串格式使用NSDateFormatter存储它,但您也可以添加一个包含时区信息的单独列.