objective-cdatetimensdatensdateformatterios9.1

How to get only date from ISO8601 timestamp to as string ios?


Hi i have date format in ISO8601 as example:

NSString *currentDateString = @"2016-01-12T21:21:22.737+05:30";

i want to get only date which is 2016-01-12 from this string:

i tried

[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *currentDate = [dateFormatter dateFromString:currentDateString];
NSLog(@"CurrentDate:%@", currentDate);

its retuning null but i want to get date in format of yyyy-MM-dd.


Solution

  • Found a solution using NSRange:

    NSString *currentDateString = @"2016-01-12T21:21:22.737+05:30";
    NSRange range = [currentDateString rangeOfString:@"T"];
    NSString *newString = [currentDateString substringToIndex:range.location];
    NSLog(@"%@",newString);