如何根据区域设置仅显示日期的日期和月份?

时间:2015-05-20 14:20:23

标签: ios swift nsdateformatter

我只想显示日期的日期和月份,但我希望它基于用户的区域设置。

例如,我有以下日期:21/05/2015 00:16:00 GMT+10

如果区域设置为May 21,则我希望en_US21 May,如果区域设置为fr_FR,则为{。}}。

我查看dateStyle格式化程序NSDateFormatter,但无法找到我想要的内容。

2 个答案:

答案 0 :(得分:4)

这些方面的一些东西,也许是:

let d = // the date
let df = NSDateFormatter()
let format = NSDateFormatter.dateFormatFromTemplate(
    "dMMMM", options:0, locale:NSLocale.currentLocale())
df.dateFormat = format
let s = df.stringFromDate(d)

请注意,设备上的语言和区域设置都包含在结果中。

答案 1 :(得分:1)

您可以使用简单的扩展程序:

public extension NSDate {
func getNiceDate() -> String! {
    let dateFormatter = NSDateFormatter()
    let format = NSDateFormatter.dateFormatFromTemplate(
        "dMMMM", options:0, locale:NSLocale(localeIdentifier: "en_US"))
    dateFormatter.dateFormat = format

    return dateFormatter.stringFromDate(self)
}

}