NSDate在某些日期返回null

时间:2014-08-06 01:33:22

标签: ios objective-c nsdate nsdateformatter

我正在迭代for循环并将我的日期作为json字符串中的字符串。发生了什么,我试图将每个日期字符串转换为NSDate。我遇到的问题是每次日期都以08以外的其他东西开始,即09-13-2014,我一直收到null。我已经更改了我的服务器上的日期并测试了日期,只要日期从08开始,即08-31-2014它完美无缺。有什么想法吗?

 NSString *myDate = item[@"stringdate"];
    NSString *yourDate = item[@"sswStringDate"];
    NSLog(@"thedate %@", myDate);

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM-dd-yyyy"];
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
    NSDate *dateFromString;
    dateFromString = [dateFormatter dateFromString:myDate];

    [dateFormatter setDateFormat:@"MM-dd-YYYY"];

    NSString *stringFromDate  = [dateFormatter stringFromDate:dateFromString];
    NSLog(@"sst %@", stringFromDate);

我的日志声明是

thedate 08-31-2014 
 sst 08-31-2014 
 thedate 08-20-2015 
 sst 08-20-2014
 thedate 11-31-2014 
 sst (null) 
 thedate 09-31-2014 
 sst (null) 
 thedate 08-31-2014 
 sst 08-31-2014 

1 个答案:

答案 0 :(得分:2)

11/31和9/31的日期不存在。