来自旧数据库的csv转储的nsdate

时间:2018-08-26 11:11:55

标签: objective-c xcode macos

我有一个2013年自制应用中的旧文件-SQL Lite

我想恢复数据,但是由于旧的Xcode项目已旧,我正在重新创建功能较少的新应用,因为它们不再需要。

我可以打开旧的sql lite数据库并将表导出为cvs文件,并尝试将其导入到新应用中。

通常工作,但是我对日期信息感到困惑。在旧应用程序中,这是一个NSDate;在新应用程序中,这也是一个NSDate。在csv文件中,它只是一个字符串-例如

371401200

我不知道如何将其添加为日期,因为它不是“正常”日期字符串,因此字符串中的日期无法正常工作。

如何输入这些数据?

(业余爱好者编码器仅在家用应用程序上工作)

1 个答案:

答案 0 :(得分:0)

该字符串很可能是UNIX时间戳(从1970年1月1日开始)。

您可以使用

从字符串中获取NSDate
NSString *timeString = @"371401200";
NSTimeInterval timeStamp = timeString.doubleValue;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];

NSLog(@"%@", date); // 1981-10-08 15:00:00 +0000

或者它可能是基于Apple的参考日期(从2001年1月1日开始)

NSString *timeString = @"371401200";
NSTimeInterval timeStamp = timeString.doubleValue;
NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:timeStamp];

NSLog(@"%@", date); // 2012-10-08 15:00:00 +0000