从NSDateFormatterLongStyle中删除部分格式化字符串

时间:2015-01-17 09:37:54

标签: ios nsdateformatter

使用中文日期格式时,对于日期Jan, 17, 2015,如果在中文语言环境中使用NSDateFormatterLongStyle,则会产生:

2015年1月17日

这很好,但是当我只想要这样的月份和年份时:

2015年1月

没有这样的预定义格式。

如果使用格式模板,模板将为@"YYYY年MM月",但这不适用于日语等其他语言环境。

有没有办法从所有区域设置的长样式格式中提取月份和年份?

1 个答案:

答案 0 :(得分:1)

游乐场测试:

let lc = "zh-cn";
var locale = NSLocale(localeIdentifier: lc);
var format = NSDateFormatter.dateFormatFromTemplate("yyyyMMM", 
    options: 0, locale: locale);
var formatter = NSDateFormatter();
formatter.dateFormat = format;
formatter.locale = locale;
formatter.stringFromDate(NSDate());

生产代码:

var format = NSDateFormatter.dateFormatFromTemplate("yyyyMMM", 
    options: 0, locale: nil);
var formatter = NSDateFormatter();
formatter.dateFormat = format;
let dateString = formatter.stringFromDate(NSDate());