2013-09-26 45 views
0

我正在訪問JSON數組中的日期,然後我想將其格式化爲可讀日期,代碼如下。NSDateFormatter&NSString返回(null)日期

NSDateFormatter *expirationDateFormat = [[NSDateFormatter alloc] init]; 
    [expirationDateFormat setDateStyle:NSDateFormatterNoStyle]; 
    [expirationDateFormat setDateFormat:@"EEE, MMMM dd, yyyy"]; 

    NSDate *alertExpiresRealDate = [[alerts objectAtIndex:i] valueForKeyPath:@"expires"]; 
    NSString* alertExpiresDate = [expirationDateFormat stringFromDate:alertExpiresRealDate]; 
    NSLog(@"%@", alertExpiresRealDate); // 1380319200 
    NSLog(@"%@", alertExpiresDate); // (null) 
    NSString* alertExpires = [[NSString stringWithFormat:@"Expires: %@", alertExpiresDate] uppercaseString]; 

即使當我將「setDateFormat」更改爲像yyyy這樣簡單的東西時,它仍會返回(null)。

有什麼明顯的我失蹤了嗎?

+0

是'alertExpiresRealDate'和'NSDate' - 看起來不像你的日誌... – Wain

+0

你可能錯過的是alertExpiresRealDate可能不是NSDate。 –

+0

是的,就是這樣。謝謝大家。這裏是我改變它:'NSDate * alertExpiresRealDate = [NSDate dateWithTimeIntervalSince1970:[[[alert [objectAtIndex:i] valueForKeyPath:@「expires」] doubleValue]];' –

回答

0

感謝問題中的意見是alertExpiresRealDate不是NSDate。

更新該行是:

NSDate *alertExpiresRealDate = [NSDate dateWithTimeIntervalSince1970:[[[alerts objectAtIndex:i] valueForKeyPath:@"expires"] doubleValue]]; 

而且現在的工作。