Search code examples
objective-cnsdateformatter

How do I represent it with date for "dd MMM yyyy", means "11 JUN 2019"?


I have date string like this "11 June, 2019 16:35:21". When I try to convert the string to NSDate it returns nil.

NSString str =@"11 June, 2019 16:35:21";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat: @"dd MMM yyyy"];
NSDate *date = [formatter dateFromString:str];
NSString *string = [[formatter stringFromDate:date] uppercaseString];

Is there any other way to convert it? Or where I'm doing wrong?


Solution

  • use date format as like

     NSString str =@"11 June, 2019 16:35:21";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    NSLocale *locale = [[NSLocale alloc] 
                     initWithLocaleIdentifier:@"en_US_POSIX"];
    [formatter setLocale:locale];
     // input dateformat      @"11 June, 2019 16:35:21";
    [formatter setDateFormat: @"dd MMMM, yyyy HH:mm:ss"];
    NSDate *date = [formatter dateFromString:str];
    // output dateformat for e.g @"11 Jun 2019 
       [formatter setDateFormat: @"dd MMM yyyy"];
    NSString *string = [[formatter stringFromDate:date] uppercaseString];