[英]How to store NSDate in Core Data?
在生成Core Data子类时,我检查在Core Data存储中使用原始数据类型。
我应该从NSDate
转换哪个NSTimeInterval
表示? 或者无关紧要,只需在读/写相同的托管对象属性时正确使用?
我更喜欢使用: mo.creationDate = date.timeIntervalSinceReferenceDate
iOS的参考日期为:2001年1月1日,GMT。
Unix时间戳参考日期计算自:1970年1月1日,UTC
如果这是一个完全脱机的应用程序,您可以使用timeIntervalSinceReferenceDate并直接存储该值。
但是,如果您要与服务器同步,那么通常最好将数据作为unix时间戳发送到服务器。 因为桌面使用unix时间戳作为默认值。
因此,在第二种情况下,您可以选择将日期直接保存为UnixTimeStamp,并使用Model Class中的getter将其转换为本地使用(请参阅:@VladZ)或者您可以将其保存为iOS的参考日期并将其转换为UnixTimeStamp每次发送到服务器。
使用 - timeIntervalSince1970并将此值保存在CoreDate中
mo.creationDate = [NSNumber numberWithDouble:timeInterval];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.