Ios 在对象中设置NSDate
我有一个对象,Ios 在对象中设置NSDate,ios,objective-c,object,nsdate,Ios,Objective C,Object,Nsdate,我有一个对象,SCHRss,它在头文件中设置了一个NSDate。代码如下所示: @property (nonatomic, strong) NSDate * time; SCHRss *rssObject = [[SCHRss alloc] init]; [rssObject setTitle:self.title]; [rssObject setLink:self.link]; [rssObject setImage:self.image]; NSDateFormatter *dateF
SCHRss
,它在头文件中设置了一个NSDate
。代码如下所示:
@property (nonatomic, strong) NSDate * time;
SCHRss *rssObject = [[SCHRss alloc] init];
[rssObject setTitle:self.title];
[rssObject setLink:self.link];
[rssObject setImage:self.image];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setLocale:[NSLocale currentLocale]];
[dateFormat setDateFormat:@"EEEE, d MMMM yyyy h:mm:ss zzzz"];
[dateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];
[rssObject setTime:[dateFormat dateFromString:self.time]];
[self.feeds addObject:rssObject];
我想创建一个SCHRss
对象并设置NSDate
。目前代码如下所示:
@property (nonatomic, strong) NSDate * time;
SCHRss *rssObject = [[SCHRss alloc] init];
[rssObject setTitle:self.title];
[rssObject setLink:self.link];
[rssObject setImage:self.image];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setLocale:[NSLocale currentLocale]];
[dateFormat setDateFormat:@"EEEE, d MMMM yyyy h:mm:ss zzzz"];
[dateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];
[rssObject setTime:[dateFormat dateFromString:self.time]];
[self.feeds addObject:rssObject];
self.time
正在返回正确的值。但是当我从控制台调用[rssObject time]
时,返回了nil
。有什么想法吗
作为参考,时间戳如下所示:
Tue,2015年6月16日06:41:58+0000
您的日期格式实际上与时间戳字符串不匹配。使用正确的日期格式。似乎适用于self.date
。那么正确的格式是什么呢?请查看日期格式说明符的规范。您的时间戳中有三个字母的工作日。但您使用的是EEEE
。看看规范对工作日格式的说明。对每一部分都做同样的操作。还请注意,如果时间戳总是用英语,则可能需要将格式化程序的语言环境设置为特殊语言环境en_US_POSIX
。如果您不这样做,那么对于任何不使用英语的用户,代码都将失败。