NSDateFormatter& NSString返回(null)日期

时间:2013-09-26 18:52:08

标签: ios objective-c nsdate

我正在从JSON数组访问日期,然后我想将其格式化为可读日期,代码如下。

    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)。

有什么明显的东西我不见了吗?

1 个答案:

答案 0 :(得分:0)

感谢问题中的评论问题alertExpiresRealDate不是NSDate。

将该行更新为:

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

它现在有效。