NSDate在CoreData中保存为时间戳

时间:2014-05-26 00:24:10

标签: ios csv core-data sqlite nsdate

我目前正在CoreData中的iOS应用程序中保存日期。在Core Data中,我的日期属性是“Date”类型。在我的NSManagedObjectSubclass文件中,属性的类型为:NSDate(很好)。核心数据中的日期存储为:2014/05/16 14:54:51当我检查SQLite3导航器中的实际值时,它将以以下形式存储:

421959291.293972为日期

如何获取日期的上述值,是否有办法将其转换回形式:2014/05/16 14:54:51?我问这个是因为我试图通过CSV文件创建数据集,并且想要确保我在CSV文件中输入的所有值都被Core Data / SQLite3正确转换为正确的格式。

1 个答案:

答案 0 :(得分:10)

如果您使用sqlite3作为命令行工具,请使用datetime函数来解释数据,例如

sqlite3> .schema
create table ZENTITY (... ZSTARTDATE TIMESTAMP, ...)
sqlite3> select datetime(zstartdate,'unixepoch','31 years') from ZENTITIY;

这应该给出存储在实体表中的格式化时间戳

unix epoch / 31年的争论来自这个堆栈溢出问题。 Behind The Scenes: Core Data dates stored with 31 year offset?