2016-10-26 43 views
0

我有核心數據,我的一個實體屬性是Date類型的對象(我認爲它是NSDate)。 從JSON響應我在下面的格式得到日期:2016-01-09 22:33:33保存日期對象到核心數據

映射時,我在我的NSManagedObject這樣的設定值:

[item setValue:[obj valueForKey:JS_DATE] forKey:CD_DATE]; 

如果宏是簡單的字符串,指的是實體名稱或JSON響應日期的關鍵。

應用程序拋出一個異常,我假設我想保存NSDate與不同的格式。如何解決這個問題?

謝謝。

+1

使用'NSDateFormatter'將NSString對象轉換爲'NSDate',或者將屬性類型改爲'NSString',但是您可能會失去謂詞的一些很好的特性與'NSDate'(如<, =<, >或> =)。 – Larme

回答

0

試試沿着

// Setup formatter 
myDateFormatter = [[NSDateFormatter alloc] init]; 
myDateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; 
myDateFormatter.dateFormat = @"yyyy-MM-dd' 'HH:mm:ss"; 
myDateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; 

// Use it 
NSString *stringFromJSON = @"2016-01-09 22:33:33"; 
NSDate *date = [myDateFormatter dateFromString:stringFromJSON]; 

// Validate Date 
NSLog(@"Date: %@, date); 

行你可能要實驗localetimeZone,這取決於你住的地方。看看技術說明提示:https://developer.apple.com/library/content/qa/qa1480/_index.html