2014-05-19 99 views
0

我寫了下面的代碼將NSString轉換爲NSDate。NSString到NSDate轉換錯誤

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    //[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault]; 
    [dateFormatter setDateFormat:@"dd/MM/yyyy"]; 
    NSDate *date = [[NSDate alloc] init]; 

    NSLog(@"NSDate is %@", _pickUpDao.pickupDate); 

    date = [dateFormatter dateFromString:_pickUpDao.pickupDate]; 



2014-05-19 14:07:45.095 ProjectName[3992:70b] NSDate is 5/20/2014 

但我得到以下錯誤

-[__NSCFCalendar components:fromDate:]: date cannot be nil 

我是說真的,你覺得這是什麼操作應該用零日期是什麼意思? 現在已經避免了一個例外。這些錯誤中的一部分將會與此投訴一起報告,然後進一步的違規行爲將會無聲無息地執行無效的任何結果。

+0

你的字符串是什麼? –

+0

2014-05-19 14:07:45.095 ProjectName [3992:70b] NSDate是5/20/2014 –

+0

這是NSString, –

回答

1

我想,代碼需要20個月的地方。 「20」不能是一個月。嘗試將日期格式更改爲@"MM/dd/yyyy"

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"MM/dd/yyyy"]; 
NSDate *date = [[NSDate alloc] init]; 

NSLog(@"NSDate is %@", _pickUpDao.pickupDate); 

date = [dateFormatter dateFromString:_pickUpDao.pickupDate];