我所要做的就是用“EEEE,MMMM dd”格式(例如“星期六,1月11日”)格式化日期。无论我做什么,我都会得到一个空结果。
- (NSString *) formatDate : (NSDate *) date
{
if (!date)
NSLog(@"what is going on!");
NSLog(@"%@", date);
NSString *strDate = [NSString stringWithFormat:@"%@", date];
NSLog(@"%@", strDate);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE, MMMM dd"];
NSDate *formattedDate = [dateFormatter dateFromString:strDate];
NSLog(@"Formatted Date: %@", [NSString stringWithFormat:@"%@", formattedDate]);
return [NSString stringWithFormat:@"%@", formattedDate];
}
这是我的输出:
2014-01-12
2014-01-12
Formatted Date: (null)
任何人都能看到我做错了什么?
我正在遵循此post的已接受解决方案中的前4行。
答案 0 :(得分:1)
- (NSString *)formatDate:(NSDate *)date
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE, MMMM dd"];
NSString *returnString = [dateFormatter stringFromDate:date];
NSLog(@"Formatted Date: %@", returnString);
return returnString;
}
您需要使用stringFromDate:
,而不是dateFromString:
。
我记录了
2014-01-12 00:14:20.096 StackOverFlowDate [84614:a0b]格式化日期:1月12日星期日