在Core Data中使用系统时区存储NSDate

时间:2011-10-14 05:38:45

标签: iphone core-data nsdate

当我在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天的延迟日期..

1 个答案:

答案 0 :(得分:1)

NSDate没有时区。它将日期存储为自GMT参考日期以来的秒数。

使用NSDateFormatter格式化显示日期时,将应用时区。这将默认选取设备时区。