0

我使用 CoreData 来存储我从服务器获取的对象。

我在某处发生了故障,无法弄清楚出了什么问题。但看起来它与存储在 CoreData 数据库中的日期有关。所以我打开了 sqllite 数据库并尝试比较日期,但因为它们对我来说不是人类可读的,有没有办法将序列化的 NSDate 转换回人类可读的日期?(例如年月日)

我在 CoreData 数据库中有以下日期。如何将它们转换回人类可读的日期格式?在线转换会很棒,因为很难为此编写一个应用程序。

coredata 数据库值

谢谢并恭祝安康。

4

2 回答 2

1

它们只是自间隔参考日期以来的时间戳。这是您可以用来解码它们的代码:

NSNumber *time = [NSNumber numberWithDouble:(d - 3600)];
NSTimeInterval interval = [time doubleValue];    
NSDate *online = [NSDate dateWithTimeIntervalSinceReferenceDate:interval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss.SSS"];

NSLog(@"result: %@", [dateFormatter stringFromDate:online]);
于 2012-05-18T12:34:56.920 回答
0

为什么不直接使用 NSLog 来查看代码实际运行的日期呢?运行您的 fetch 查询,然后在调试器中输出日期:

NSDate *myDate; // This is whatever you fetched from your database.

// Show myDate in the debug console.
NSString *output = [NSDateFormatter localizedStringFromDate:myDate
                                                  dateStyle:NSDateFormatterMediumStyle 
                                                  timeStyle:NSDateFormatterMediumStyle];
NSLog(@"%@", output);
于 2012-05-18T12:37:51.740 回答