[英]NSDateFormatter dateFromString returns nil on improper date
I have a date that looks like this 我有一个看起来像这样的约会
2015-11-07T14:02:00Z 2015-11-07T14:02:00Z
I am trying to convert this into an NSDate instance using this method: 我正在尝试使用此方法将其转换为NSDate实例:
- (NSDate *)formatDateString:(NSString *)string {
static NSDateFormatter *formatter = nil;
if (formatter == nil) {
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-mm-ddThh:mm:ssZ"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterMediumStyle];
}
return [formatter dateFromString:string];
}
But this returns me nil. 但是,这使我没有回报。
Thanks 谢谢
Date format seems to be incorrect: 日期格式似乎不正确:
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
Also, you need to remove the following lines because you already specified all date components in above. 另外,您需要删除以下几行,因为您已经在上面指定了所有日期组件。
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterMediumStyle];
Putting all together: 放在一起:
- (NSDate *)formatDateString:(NSString *)string {
static NSDateFormatter *formatter = nil;
if (formatter == nil) {
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
}
return [formatter dateFromString:string];
}
-- -
[formatter dateFromString:@"2015-11-07T14:02:00Z"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.