2014-01-10 82 views
0

我現在對核心數據非常滿意(僅iOS開發人員爲6個月),但我沒有必要在覈心數據中添加日期。從字符串創建日期

所以這裏的情況。我從JSON格式的Web服務中提取數據。我擁有的元素之一是日期元素,我不知道用於將這些數據正確存儲在覈心數據中的語法。

如果說不清楚這裏有一個例子:
語法,用於存儲字符串:

newDate.eventyType = NSLocalizedString([diction objectForKey:@"eventyType"], nil); 

語法,用於存儲號碼:

newDate.id = [NSNumber numberWithInt:[NSLocalizedString([diction objectForKey:@"id"], nil) intValue]]; 

所以,我需要知道的語法用於存儲日期。

+0

請按照下面的更新回答 –

回答

1

嘗試這樣的: -

如果您在提取和存儲從JSON格式的日期爲NSString變量,然後嘗試下面要轉換爲NSDate: -

NSString *[email protected]"19-01-2014"; 
NSDateFormatter *format=[[NSDateFormatter alloc]init]; 
[format setDateFormat:@"dd-MM-yyyy"]; 
NSDate *dt1=[format dateFromString:strDate1]; 
+0

這就是我正在尋找。謝謝!我會投票給你,但我沒有足夠的代表,因爲我很新的張貼在計算器上。 –

+0

如果它真的幫助你。請使它正確? –

+0

對不起。就像我說的我是新來的stackoverflow,所以我一開始並沒有意識到如何標記它是正確的。不好意思。但現在我知道了。 :) –

0

前面已經回答了我的面前,對從NSString創建一個使用NSDateFormatter的NSDate對象。瞭解日期格式化程序的重要之處在於它使用用戶的區域設置(包括日曆!)和時區。但是您希望收到的日期可能在一個固定的區域和一個時區中。這可能會導致日期格式化程序無法解析日期字符串。

的解決方案是設置語言環境和時區的日期格式明確:

NSDateFormatter *rfc3339DateFormatter = [[[NSDateFormatter alloc] init]; 
NSLocale *enUSPOSIXLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX」]; 
rfc3339DateFormatter.locale = enUSPOSIXLocale; 
rfc3339DateFormatter.dateFormat = @"yyyy'-'MM'-'dd」; 
rfc3339DateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; 

進行更詳細的說明,請參見Technical Q&A QA1480