我怎样才能使 NSLocale.autoupdatingCurrentLocale() return 只是日期?

How can I make NSLocale.autoupdatingCurrentLocale() return just the date?

NSLocale.autoupdatingCurrentLocale() 使格式化 i18n 日期变得非常容易。

例如:

NSDate().descriptionWithLocale(NSLocale.autoupdatingCurrentLocale()

Returns:

Monday, February 1, 2016 at 12:00:00 PM Pacific Standard Time

有没有办法可以将这个简单的函数修改为 return 只是日期?如果不是,我将如何构建行为相同的等效 NSLocale 对象,派生适当的国际日期字符串?

我希望,对于 en_US,它可以 return 简单地:

Monday, February 1, 2016

您可以只使用 NSDateFormatter .dateStyle = .FullStyle。默认情况下,它是当前语言环境。如果您想要特定的语言环境,只需将 formatter.locale 设置为您需要的

extension NSDate {
    struct Date {
        static let localizedFormatter: NSDateFormatter = {
           let formatter = NSDateFormatter()
            formatter.dateStyle = .FullStyle
            return formatter
        }()
    }
    var localizedDecription: String {
        return Date.localizedFormatter.stringFromDate(self)
    }
}

NSDate().localizedDecription   // Friday, January 29, 2016"