我现在对核心数据感到非常满意(只有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 *strDate2=@"19-01-2014";
NSDateFormatter *format=[[NSDateFormatter alloc]init];
[format setDateFormat:@"dd-MM-yyyy"];
NSDate *dt1=[format dateFromString:strDate1];
答案 1 :(得分:0)
正如我之前已经回答的那样,要从NSString创建NSDate对象,需要使用NSDateFormatter。了解日期格式化程序的重要一点是它使用用户的语言环境(包括日历!)和时区。但是您希望收到的日期可能是一个固定的区域设置和一个时区。这可能导致日期格式化程序无法解析日期字符串。
解决方案是将语言环境和时区明确设置为日期格式化程序:
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。