7

How to set Locale for NSDateFormatter? I've tried the below code and its not working.

- (NSString *)localizedStringWithFormat:(NSString *)format {

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:format];
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier: @"fr_FR"];
    cal.locale = locale;
    df.calendar = cal;
    return [df stringFromDate:self];
}

Please let me know how to make this work.

Thanks.

4

4 に答える 4

15
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] 
                     initWithLocaleIdentifier:@"he"];
[dateFormatter setLocale:locale];
于 2013-09-23T20:15:28.223 に答える
5

誰かがSwift 3ソリューションを探す場合:

let dateFormatter = DateFormatter()
let frLocale = Locale(identifier: "fr")
dateFormatter.locale = frLocale
于 2017-02-01T01:32:32.897 に答える
3

パーティーに少し遅れましたが、これは私が今日 Swift で行ったことです。

let df = NSDateFormatter()
df.locale = NSLocale.currentLocale()
df.timeStyle = .MediumStyle
df.dateStyle = .MediumStyle
println("Date: \(df.stringFromDate(obj.dateSent!))")

OS の地域設定に応じて、出力は次のようになります (私はドイツにいます)。

Date: 27.11.2014 12:30:39

注: より多くの人がこの SO の質問に出くわすと思ったので、答えても問題ないと思います。

于 2014-11-27T23:09:47.727 に答える
2

日付フォーマッタでローカライズされたロケールを使用しないように時間を費やしたため、これを追加しました。

Apple ドキュメントから:ローカリゼーションが不要な場合は、システム ロケールを使用します。現在のロケールを使用して、ユーザーに表示するテキストをフォーマットします。

コード: [formatter setLocale:[NSLocale systemLocale]];

于 2016-02-05T16:30:53.603 に答える