在iOS中计算核心数据项目的时间戳

Rah*_*pta 2 iphone datetime timestamp ipad ios

我在我的项目中使用核心数据.数据库是sqlite,并且存在用于存储具有数据类型"timestamp"的"birthdate"的列.

现在,我想在其中插入一些记录,我的日期是人类可读格式,如"1809-06-17".

如何将此日期转换为时间戳,以便从数据库中获取此日期.

我尝试使用python脚本进行一些转换,但是我得到了不同的结果.

有没有简单的方法来做到这一点?请帮我.

ped*_*ros 6

您可以将日期存储为TEXT,而不必担心转换为时间戳和从时间戳转换.

要将时间戳转换为NSDate,请使用:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];
NSLog(@"%@", date);
Run Code Online (Sandbox Code Playgroud)

字符串到NSDate到时间戳:

NSDate *date = [NSDate dateWithString:stringWithDate];
NSTimeInterval timeStamp = [date timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)

SQLite没有Date的数据类型,它只是将它存储在INT(Unix时间),REAL(Julian日数字)或TEXT(ISO8601字符串)中,具体取决于您选择的内容.

因此,您可以将日期以您已有的格式("1809-06-17")存储为TEXT列,或者使用上述方法将时间戳存储在INT列中以进行双向转换.

SQLite日期和时间函数:SQLite日期和时间 SQLite数据类型:SQLite数据类型doc SQLite官方站点和文档:SQLite主页

希望你能解决你的问题