正确的dateFormatter表单

时间:2010-12-06 15:04:40

标签: iphone events nsdate nsdateformatter

我从具有此表单的xml Feed中提取日期

12/10/2010 19:30:00

我正在使用这种形式的setDateFormat方法来识别日期

[dateFormatter setDateFormat:@"MM/dd/yyyy  HH:mm:ss"];

但它经常抛出异常,说结果的日期是零,导致我怀疑我没有正确的表格来识别日期。

我有正确的表格,还是我错过了什么?

感谢您提供的任何见解。

以下是有关抛出此错误的函数的更多信息 - 并且错误发生在它找到的第一个日期 - 也就是这个日期12/10/2010 19:30:00:

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{

    if ([elementName isEqualToString:@"item"]) {
        [item setObject:self.currentTitle forKey:@"title"];
        [item setObject:self.currentType forKey:@"type"];
        [item setObject:self.currentSummary forKey:@"description"];
    [item setObject:self.currentTeacher forKey:@"teacher"];
    [item setObject:self.currentDate forKey:@"pubdate"];
    [item setObject:self.currentLink forKey:@"link"];               

    // Parse date here
    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];


    [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];


    NSDate *date = [dateFormatter dateFromString:self.currentDate];


        [item setObject:date forKey:@"date"];

        [items addObject:[item copy]];
    }
}

1 个答案:

答案 0 :(得分:0)

格式对我来说很好看。 在格式化之前检查XML的日期返回。 如果你有任何其他标签/字符而不是日期dateFormatter给出错误。