[英]Create a date from a string
我现在对核心数据非常满意(仅在iOS开发人员任职6个月),但是我并没有在核心数据中添加日期。
这就是这种情况。 我正在从Web服务以JSON格式提取数据。 我拥有的元素之一是date元素,我不知道将其正确存储在核心数据中的语法。
如果不清楚,这里是一个示例:
存储字符串的语法:
newDate.eventyType = NSLocalizedString([diction objectForKey:@"eventyType"], nil);
存储数字的语法:
newDate.id = [NSNumber numberWithInt:[NSLocalizedString([diction objectForKey:@"id"], nil) intValue]];
所以我需要知道存储日期的语法。
尝试这样:-
如果要从json格式提取日期并将其存储到NSString
Variable中,请尝试以下将其转换为NSDate
:
NSString *strDate2=@"19-01-2014";
NSDateFormatter *format=[[NSDateFormatter alloc]init];
[format setDateFormat:@"dd-MM-yyyy"];
NSDate *dt1=[format dateFromString:strDate1];
正如我之前已经回答的那样,要从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];
有关更多详细说明,请参见技术问答QA1480 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.