要NSDateformatter为2000年1月或2000年1月(Want NSDateformat

2019-08-02 03:13发布

我有一个日期2012年1月,我需要一个NSDateFormatter这样的日期。

这里是我的代码...

//Array of Date-formatter Strings
NSArray *dateFormatterList = [
    NSArray arrayWithObjects:
        @"yyyy-MM-dd'T'HH:mm:ss'Z'", 
        @"yyyy-MM-dd'T'HH:mm:ssZ",
        @"yyyy-MM-dd'T'HH:mm:ss", @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
        @"yyyy-MM-dd'T'HH:mm:ss.SSSZ", @"yyyy-MM-dd HH:mm:ss",
        @"MM/dd/yyyy HH:mm:ss", @"MM/dd/yyyy'T'HH:mm:ss.SSS'Z'",
        @"MM/dd/yyyy'T'HH:mm:ss.SSSZ", @"MM/dd/yyyy'T'HH:mm:ss.SSS",
        @"MM/dd/yyyy'T'HH:mm:ssZ", @"MM/dd/yyyy'T'HH:mm:ss",
        @"yyyy:MM:dd HH:mm:ss", @"yyyyMMdd", @"dd-MM-yyyy",
        @"dd/MM/yyyy", @"yyyy-MM-dd", @"yyyy/MM/dd",
        @"dd MMMM yyyy", @"MMddyyyy", @"MM/dd/yyyy", 
        @"MM-dd-yyyy",@"d'st' MMMM yyyy",
        @"d'nd' MMMM yyyy", @"d'rd' MMMM yyyy",
        @"d'th' MMMM yyyy", @"d'st' MMM yyyy",
        @"d'nd' MMM yyyy", @"d'rd' MMM yyyy",
        @"d'th' MMM yyyy", @"d'st' MMMM",
        @"d'nd' MMMM", @"d'rd' MMMM",
        @"d'th' MMMM", @"d'st' MMM",
        @"d'nd' MMM", @"d'rd' MMM",
        @"d'th' MMM",@"MMMM yyyy",nil];

NSString *targetDateFormatString  = @"dd-MM-yyyy";

count++; 

if (resultString) {
    for (NSString *dateFormatterString in dateFormatterList) {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:dateFormatterString];
        NSDate *originalDate = [dateFormatter dateFromString:resultString];

        if (originalDate) {
            [dateFormatter setDateFormat:targetDateFormatString];
            myDateString = [dateFormatter stringFromDate:originalDate];
            [finalDateArray addObject:myDateString];
            //NSLog(@"Converted date String is %@", myDateString);
            break;
        }
    }
}

Answer 1:

因为,2000年1月

尝试,

@"MMMM, yyyy"

而对于2000年1月

尝试

@"MMMM yyyy"

我有我的答案更新到你的这个其他问题的,请检查我的答案在此链接

更新:

在问题集上面的代码resultString = @"January 2000" ,然后再试一次。 我得到它作为"01-01-2000" 。 我有我的对方回答更新你的问题,使其作为一种方法。 使用该方法,并调用它, [self dateStringFromString:@"January 2000" destinationFormat:@"dd-MM-yyyy"] 。 请注意,由于日期参数是不存在于你的原始字符串,你会看到01作为默认的日期。



文章来源: Want NSDateformatter for January,2000 or January 2000