设置后NSDate为null

时间:2014-09-18 17:18:45

标签: objective-c nsdate nsdateformatter

我有以下代码可以将NSString转换为NSdate

    NSString *dateStr = self.currentElement;
    NSLog(@"Raw date string: %@", dateStr);

    // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM/dd/yyyy"];
    NSDate *date = [dateFormat dateFromString:dateStr];
    NSLog(@"%@", date);

产生以下输出:

Raw date string: 7/8/1806 12:00:00 AM
(null)

在我使用*date设置后,我不确定为什么null仍然是dateFromString。会导致这种情况的原因是什么?

编辑:在查看重复的问题后,我将代码更改为以下内容:

    NSString *dateStr = self.currentElement;
    NSLog(@"Raw date string: %@", dateStr);

    // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
    NSDate *date = [dateFormat dateFromString:dateStr];
    NSLog(@"%@", date);

现在产生以下输出:

Raw date string: 7/8/1806 12:00:00 AM
1806-07-08 04:56:02 +0000

为什么NSdate打印不正确,即使它使用与我刚刚用来制作完全相同的NSDateFormatter

0 个答案:

没有答案