这是12月18日星期五的NSDateFormatter风格

Rob*_*bin 4 iphone objective-c nsdate nsdateformatter

我想知道这个日期格式是什么Friday, December 18th,也是这个标准的日期格式,或者我需要付出一些努力才能得到这个.

谢谢.

Mad*_*dav 8

我不认为有可能通过格式化来实现.虽然你可以这样做:

NSDate *today = [NSDate date];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EEEE, MMMM d"];
    NSString *dateString = [dateFormat stringFromDate:today];
    NSCalendar *cal = [NSCalendar currentCalendar];
    unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
    NSDateComponents *dtComp = [cal components:unitFlags fromDate:today];
    switch ([dtComp day]) {
        case 1:
        case 31:
        case 21:
            dateString = [dateString stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%i",[dtComp day]] withString:[NSString stringWithFormat:@"%ist",[dtComp day]]];
            break;
        case 2:
        case 22:
            dateString = [dateString stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%i",[dtComp day]] withString:[NSString stringWithFormat:@"%ind",[dtComp day]]];
                break;
        case 3:
        case 23:
            dateString = [dateString stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%i",[dtComp day]] withString:[NSString stringWithFormat:@"%ird",[dtComp day]]];
            break;
        default:
            dateString = [dateString stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%i",[dtComp day]] withString:[NSString stringWithFormat:@"%ith",[dtComp day]]];
            break;
    }

    [dateFormat release];
Run Code Online (Sandbox Code Playgroud)

  • 嘿@Madhup,谢谢,我会在早上第一件事.谢啦 (2认同)