将本地化日期字符串重新格式化为另一个语言环境
Reformat localized date string to another locale
我有一个 String
是 "Jueves 14 Junio 1990"
:它是一个在 es_MX
语言环境中格式化的日期,我想用 en_US
将它转换成一个新字符串作为语言环境。
这是我的代码:
let myString:String = "Jueves 14 Junio 1990"
let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
dateFormatter.dateFormat = "EEEE dd MMMM yyyy"
let finalDate:NSDate = dateFormatter.dateFromString(myString)!
let finalString = dateFormatter.stringFromDate(date)
我一直在等待 finalString
结果为 Thursday 14 June 1990
。
这里的问题是finalDate
是nil
。
我的代码有错吗?我怎样才能做到这一点?
您必须先使用 es_MX 语言环境将字符串转换为 NSDate:
let string = "Jueves 10 Junio 1990"
let formatter = NSDateFormatter()
formatter.dateFormat = "EEEE dd MMMM yyyy"
formatter.locale = NSLocale(localeIdentifier: "es_MX")
if let date = formatter.dateFromString(string) {
formatter.locale = NSLocale(localeIdentifier: "en_US")
let dateString = formatter.stringFromDate(date)
}
我有一个 String
是 "Jueves 14 Junio 1990"
:它是一个在 es_MX
语言环境中格式化的日期,我想用 en_US
将它转换成一个新字符串作为语言环境。
这是我的代码:
let myString:String = "Jueves 14 Junio 1990"
let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
dateFormatter.dateFormat = "EEEE dd MMMM yyyy"
let finalDate:NSDate = dateFormatter.dateFromString(myString)!
let finalString = dateFormatter.stringFromDate(date)
我一直在等待 finalString
结果为 Thursday 14 June 1990
。
这里的问题是finalDate
是nil
。
我的代码有错吗?我怎样才能做到这一点?
您必须先使用 es_MX 语言环境将字符串转换为 NSDate:
let string = "Jueves 10 Junio 1990"
let formatter = NSDateFormatter()
formatter.dateFormat = "EEEE dd MMMM yyyy"
formatter.locale = NSLocale(localeIdentifier: "es_MX")
if let date = formatter.dateFromString(string) {
formatter.locale = NSLocale(localeIdentifier: "en_US")
let dateString = formatter.stringFromDate(date)
}