NSDateFormatter @“mmddyyy”?

时间:2011-06-09 07:24:19

标签: iphone objective-c nsdateformatter

直升机, 我正在尝试一堆代码,它给出了null。这段代码有问题吗?

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    // get NSDate from old string format
    [dateFormatter setDateFormat:@"mmddyyy"];
    NSDate *date = [dateFormatter dateFromString:@"02012002"];
    NSLog(@"%@",date);
    // get string in new date format
    [dateFormatter setDateFormat:@"dd-MMM-yyyy"];
    NSString *strMyDate= [dateFormatter stringFromDate:date];
    NSLog(@"%@\n\n********************************************************",strMyDate);

输出

2011-06-09 12:49:17.957 TestPrj[3054:207] (null)
2011-06-09 12:49:17.959 TestPrj[3054:207] (null)

********************************************************

2 个答案:

答案 0 :(得分:2)

请尝试

[dateFormatter setDateFormat:@"MMddyyyy"];

修改

在我以前的版本中DD确实在这个例子中起作用,虽然从2月开始会产生错误的结果 - >回到dd

MM用于将其解析为分钟的其他月份。

请参阅Unicode Technical Standard #35 / Locale Data Markup Language (LDML)

答案 1 :(得分:1)

你在第二行中错过了一个'y' - 它应该是 -

  

dateFormatter   setDateFormat:@ “MMDDYYYY”];

     

或dateFormatter   setDateFormat:@ “MMDDYYYY”];