2016-06-16 6 views
1

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) 

私はfinalStringThursday 14 June 1990としてもたらしたことを待っていました。

ここでの問題は、finalDatenilであることです。

コードが間違っていますか?どうすればこれを達成できますか?

答えて

4

あなたはNSDateに文字列を変換するために、最初のes_MXロケールを使用する必要があります。

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) 
} 
+0

この権利は、今日曜日を出力しますので、私は1990年6月10日は、あなたが完全に正しい日曜日 – riadhluke

+0

だと思い、に感謝してもソリューション!私が10と間違えただけのリアリズム、それは実際に14だった。 –

関連する問題