2013-09-26 158 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]]; 

而且现在的工作。