Objective-C:无法从String解析日期

时间:2014-11-17 04:23:37

标签: ios objective-c nsdateformatter

在我的Transaction中,我将日期格式化为

"2014-11-16T23:18:17.880"

我尝试将日期解析为

NSDate *transactionDate = [self getTransactionDateFromString:transactionModel.date];

- (NSDate *)getTransactionDateFromString:(NSString *)dateString {
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.Z'"];
    return [dateFormat dateFromString:dateString];
}

但这会返回nil

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的日期值最后包含毫秒。因此,请使用SSS而不是Z,这将根据格式设置您的日期。

替换以下行: -

[dateFormat setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.Z'"];

到修改后的行: -

[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];