繁体   English   中英

从字符串创建日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM