我在我的项目中使用核心数据。数据库是 sqlite,并且有一列用于存储数据类型为“timestamp”的“birthdate”。
现在,我想在其中插入一些记录,并且我的日期采用人类可读的格式,例如“1809-06-17”。
如何将此日期转换为时间戳,以便从数据库中获取此日期。
我尝试使用 python 脚本进行一些转换,但得到了不同的结果。
有什么简单的方法可以做到这一点吗?请帮助我。
最佳答案
您可以将日期存储为 TEXT,而不必担心时间戳的转换。
要将时间戳转换为 NSDate,请使用:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];
NSLog(@"%@", date);
字符串到NSDate到时间戳:
NSDate *date = [NSDate dateWithString:stringWithDate];
NSTimeInterval timeStamp = [date timeIntervalSince1970];
SQLite 没有 Date 的数据类型,它只是将其存储在 INT(Unix 时间)、REAL(儒略日数字)或 TEXT(ISO8601 字符串)中,具体取决于您的选择。
因此,您可以将日期以您已有的格式(“1809-06-17”)存储为 TEXT 列,或者使用上述方法将日期存储为 INT 列中的时间戳以进行两种方式的转换。
SQLite 日期和时间函数:SQLite date and time SQLite 数据类型:SQLite datatypes doc SQLite 官方网站和文档:SQLite Home
希望能解决你的问题
关于iphone - 在 iOS 中为核心数据项目计算时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281404/