如何让NSLocale.autoupdatingCurrentLocale()返回日期?

时间:2016-01-29 19:05:27

标签: ios swift nsdate nslocale

datA = 1:10; datB = 1:10; X2 = cosd(8*datA).*datB; Y2 = datA.*log10(datB*3); Z2 = cosd(datB); XX2 = X2./(1+Z2); YY2 = Y2./(1+Z2); plot(Xplot,Yplot,'rs-',XX2,YY2,'bo--','linewidth',2,'markersize',10); legend('original','vector') 使格式化i18n日期非常简单。

例如:

NSLocale.autoupdatingCurrentLocale()

返回:

NSDate().descriptionWithLocale(NSLocale.autoupdatingCurrentLocale()

有没有办法可以修改这个简单的函数来返回日期?如果没有,我将如何构建一个行为相同的NSLocale对象,派生一个合适的国际日期字符串?

我希望,对于Monday, February 1, 2016 at 12:00:00 PM Pacific Standard Time ,它可以简单地返回:

en_US

1 个答案:

答案 0 :(得分:1)

您可以使用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"