我想使用NSDateFormatter
的“LLL”字符串格式来获取月份名称的正确字符串:Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov /减速
我所拥有的只是月份的整数值。例如,如果值为5,那么我需要输出字符串“May”。
我不想使用开关。有什么方法可以使用NSDateFormatter
并将setDateFormat:
应用于“LLL”吗?
答案 0 :(得分:1)
更好的方法是从格式化程序和索引中获取monthSymbols
数组:
NSString * monthName = [formatter monthSymbols][monthInt];
如果你想要一个日期,NSCalendar
和NSDateComponents
会让你到那里,让你从你拥有的任何日期元素创建一个NSDate
。
NSCalendar * cal = [NSCalendar currentCalendar];
NSDateComponents * comps = [NSDateComponents new];
[comps setMonth:monthVal];
NSDate * monthOnlyDate = [cal dateFromComponents:comps];
现在您可以在日期使用格式化程序了。
(请注意,除了用于此特定目的之外,此日期基本上没有意义;组件的任何未设置属性 - 小时,日,年 - 将是未定义的,并且日历将使用其自己的默认选项他们的价值观。)