我在NSMutableArray中存储了一些日期,我想检索它们并更改格式。 目前我这样做:
NSDate *myDate = [self.dates objectAtIndex:0];
NSLog(@"myDate:%@", myDate); // 2010-03-02
NSDateFormatter *formatDate = [[NSDateFormatter alloc] init];
[formatDate setDateFormat:@"MMMM d YYYY"];
NSString *newDate = [formatDate stringFromDate:myDate];
NSLog(@"newDate: %@", newDate); // NULL
newDate的结果是NULL,我希望它是这样的:“2010年3月3日”
感谢,
答案 0 :(得分:3)
这对我有用,但我用第一行代替:
NSDate *myDate = [NSDate date];
我的输出:
2010-03-02 19:29:08.045 app[11464:a0f] myDate:2010-03-02 19:29:08 -0800
2010-03-02 19:29:08.048 app[11464:a0f] newDate: March 2 2010
我最好的猜测是[self.dates objectAtIndex:0]
没有返回你想要的东西。
答案 1 :(得分:1)
由于您的日期数组包含字符串,您必须将字符串转换为NSDate,然后您可以将日期重新转换为您想要的格式。
NSDateFormatter *strToDateFmt = [[NSDateFormatter alloc] init];
[strToDateFmt setDateFormat:@"yyyy-MM-dd"];
NSDate *myDate = [strToDateFmt dateFromString:[self.dates objectAtIndex:0]];
[strToDateFmt release];
NSLog(@"myDate:%@", myDate);
NSDateFormatter *formatDate = [[NSDateFormatter alloc] init];
[formatDate setDateFormat:@"MMMM d YYYY"];
NSString *newDate = [formatDate stringFromDate:myDate];
[formatDate release];
NSLog(@"newDate: %@", newDate);