Search code examples
iosobjective-cdatensdatensdateformatter

How to show convert current date in format "yyyy-mm-dd" to english format e.g. "Jan 28"


I am getting date in format "yyyy-mm-dd" NSString like this:

NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
[DateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [DateFormatter stringFromDate:[NSDate date]];

How do I convert this string to display in format like "Jan 18", only first three literals of month and day, no year? I know its a query specific question but really banging my head over it?


Solution

  • NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
    dateFormatter.dateFormat = @"MMM dd";
    NSString *dateString2 = [dateFormatter stringFromDate:[NSDate date]];
    

    That should get you two different strings in the two different formats. If you have the string and have to absolutely go from it to another string in a different format then:

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    NSDate *date = [dateFormatter dateFromString:yourDateString];
    dateFormatter.dateFormat = "MMM dd";
    NSString *dateString2 = [dateFormatter stringFromDate:[NSDate date]];
    

    It's almost the same code for both iterations.