当我在CoreData中将日期存储为[NSDate date]时,它保存为-5:30的差异。在核心数据中,我使用属性类型作为日期。
如何使用timeZone存储NSdate?
更新:以下是我正在使用的代码:
存储日期:
database = (DataBase*) [fetchResults objectAtIndex:indexVal];
[database setDate:[NSDate date]];
NSError error = nil;
[managedObjectContext save:&error]
要检索日期:
DataBase *newDataBase = (DataBase) [fetchResults objectAtIndex:i];
NSDate *RetrivedDate = [newDataBase Date];
NSLog(@"Retrived Date :",RetrivedDate");
在存储之前我记录它。它显示当前的日期和时间。存储后我立即获取日期。但它显示了1天的延迟日期..
答案 0 :(得分:1)
NSDate没有时区。它将日期存储为自GMT参考日期以来的秒数。
使用NSDateFormatter格式化显示日期时,将应用时区。这将默认选取设备时区。