Ios 无法获取带有“@”的月份短符号;“嗯”;
我看了,还有,但我的结果还是不正确 我的代码看起来像Ios 无法获取带有“@”的月份短符号;“嗯”;,ios,nsdateformatter,Ios,Nsdateformatter,我看了,还有,但我的结果还是不正确 我的代码看起来像 + (NSString *)getMonthName:(NSInteger)monthNumber { if (monthNumber == 0) { return @""; } NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterMediumSty
+ (NSString *)getMonthName:(NSInteger)monthNumber {
if (monthNumber == 0) {
return @"";
}
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setDateFormat:@"MMM"];
NSString *monthName = [formatter monthSymbols][(NSUInteger) (monthNumber - 1)];
NSLog(@"monthNumber-%d, monthName-%@", monthNumber, monthName);
return monthName;
}
它被称为
self.monthHeaderLabel.text = [NSString stringWithFormat:@"%@", [Helper getMonthName:self.transactionsModel.month]];
当我运行应用程序时,我看到日志为
2015-01-10 13:02:17.577 myapp-ios[19175:60b] monthNumber-1, monthName-January
为什么仍然不正确?我做错了什么
谢谢根据@rmaddy的评论,这就是我所要做的一切
NSString *monthName = [formatter shortMonthSymbols][(NSUInteger) (monthNumber - 1)];
结果很好
2015-01-10 13:23:02.223 myapp-ios[19183:60b] monthNumber-1, monthName-Jan
您可以使用shortMonthSymbols代替monthSymbols
+ (NSString *)getMonthName:(NSInteger)monthNumber {
if (monthNumber == 0) {
return @"";
}
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSString *monthName = [formatter shortMonthSymbols][(NSUInteger) (monthNumber - 1)];
NSLog(@"monthNumber-%d, monthName-%@", monthNumber, monthName);
return monthName;
}
monthSymbols
和setDateFormat:
彼此无关。为什么不使用shortMonthSymbols
?这些是您可以使用的可用月份符号:顺便说一句-无需强制转换monthNumber-1
的结果。