ios - 从 NSDateFormatterLongStyle 中删除格式化字符串的一部分

标签 ios nsdateformatter

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

2015年1月17日

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

2015年1月

没有这样的预定义格式。

如果使用格式模板,模板将为@"YYYY年MM月",但这对于其他语言环境(如日语)不可本地化。

有没有办法从所有语言环境的长样式格式中提取月份和年份?

最佳答案

Playground 测试:

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());

关于ios - 从 NSDateFormatterLongStyle 中删除格式化字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998152/

相关文章:

ios - ImageView 没有响应触摸事件

ios - 如何在没有控件的情况下在 UIView 中播放视频,例如背景/壁纸?

iphone - 如何实现如图所示的 UIPickerView,并带有组件标题?

objective-c - 确保在调用 loadView 之前完全设置 UIViewController

swift - NSDateFormatter 的日期格式问题

ios - 迄今为止的 Swift ISO8601 格式

ios - 在 UIViewController 转换中将 CAAnimation 与 View Animation 混合问题

iphone - NSDate 格式输出错误的日期

swift - 为什么日期格式化程序正确返回日期但时间显示为 00 :00:00 when converting string to NSDate

ios - 如何解析不同的字符串日期