如何将NSDate对象放入sqlite

如何将NSDate对象放入sqlite,sqlite,nsdate,Sqlite,Nsdate,我读了一些关于这个话题的帖子,但是没有任何东西解决我的问题。 我有以下几行代码 NSDate *today = [NSDate date]; NSLog(@"Today: %@", today); self.person.dayOfBirth = today; NSLog(@"Birth: %@", self.person.dayOfBirth); [appDelegate saveContext]; NSLog语句告诉我正确的结果。 结果也存储在数据库中。 但当我查看SQLite管理器

我读了一些关于这个话题的帖子,但是没有任何东西解决我的问题。 我有以下几行代码

NSDate *today = [NSDate date];
NSLog(@"Today: %@", today);

self.person.dayOfBirth = today;

NSLog(@"Birth: %@", self.person.dayOfBirth);

[appDelegate saveContext];
NSLog语句告诉我正确的结果。 结果也存储在数据库中。 但当我查看SQLite管理器中的单元格时,有一个值是这样的:399911663.291896 我认为这是一个时间戳,因为列的类型是“timestamp”。。。但是这个点很奇怪。 现在我不知道如何在sqlite数据库中获得正确的日期。
有人能帮我吗?

我认为NSDate作为NSTimeInterval存储在NSManagedObjects SQLite数据库中,它只是一个双精度(自1970年以来的秒数)。从数据库中读取对象时,是否存在日期不同的问题?

核心数据使用
timeintervalscenereferencedate
将日期转换为SQLite存储的双精度日期。这是自2001年1月1日格林尼治标准时间以来的秒数。是的,这似乎是一个NSTimeInterval。当我保存日期时,NSLog语句显示正确的结果,但DB以错误的方式接收它。我认为它是在一个时间间隔内转换的。我将列的数据类型更改为“DATETIME”,但这也不起作用。那么解决办法是什么?@user1895268:你想达到什么目的?核心数据知道如何在SQLite存储中存储日期,并且可以再次检索该日期。您正在尝试直接访问SQLite文件吗?(从您的代码中,我假设您使用核心数据,即使您没有这样说。)时间戳列类型是正确的,但是您通常不应该自己创建DB。您只需在XCode中创建ManagedObjectModel,它就可以处理所有事情。但现在我知道这些疯狂的数字来自哪里了。非常感谢你。