根据用户的语言环境,移除日期格式中的年份。

3
我希望能够根据用户设备所在的语言环境显示日期和月份。
例如,当语言环境为美国时,今天的日期应该显示为5/18,而当语言环境为德国时,则应显示为18.5.
由于需要处理各种可能的语言环境,因此我不能简单地使用[dateFormatter setDateFormat:],而[dateFormatter setDateStyle:NSDateFormatterShortStyle]会显示年份。
除了尝试识别字符串中的年份值并将其删除外,还有更优雅的方法吗?
1个回答

10

我自己找到了答案:

[self.dateFormatter setDateFormat:[NSDateFormatter dateFormatFromTemplate:@"MM d"
                                                                  options:0 
                                                                   locale:[NSLocale currentLocale]]];

详见苹果官方文档关于dateFormatFromTemplate的说明。


太棒了!当我第一次看到你的回答时,我不确定它是否完成了工作,我认为该方法名并不是很自说明。但它绝对有效,这就是函数的描述:“表示以template给定的日期格式组件的本地化日期格式字符串,适当地排列为locale指定的语言环境。” - jeppeb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接