Reputation: 2028
I have a date that looks like this
2015-11-07T14:02:00Z
I am trying to convert this into an NSDate instance using this method:
- (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
Upvotes: 1
Views: 46
Reputation: 52173
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"];
Upvotes: 1