2012-10-30 32 views
0

我有一个日期2012年1月。我需要一个NSDateFormatter这样的日期。想要NSDateformatter 2000年1月或2000年1月

这里是我的代码...

//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; 
     } 
    } 
} 
+0

你自己尝试过一些东西吗? –

+0

是的,我确实尝试过MMMM yyyy。但它不起作用。 – user1448493

+0

使用您尝试的确切代码以及解析失败的字符串更新您的问题。 –

回答

1

对于2000年1月

尝试,

@"MMMM, yyyy" 

,并为2000年1月

尝试

@"MMMM yyyy" 

我有我的答案更新到你的其他问题与此同时,请检查my answer in this link

更新:

在上面的代码中的问题设置resultString = @"January 2000",然后再试一次。我得到它作为"01-01-2000"。我已经更新了你的问题的其他答案,以作为一种方法。使用该方法并将其称为[self dateStringFromString:@"January 2000" destinationFormat:@"dd-MM-yyyy"]。请注意,由于日期参数不在您的原始字符串中,因此您会看到01作为默认日期。

相关问题