2017-05-24 5 views
0

ich eine einzige dateFormatter haben:NSDateFormatter Datum kurz Stil hat unterschiedliche Werte

private lazy var dateFormatter : DateFormatter = { 
    let formatter = DateFormatter() 
    formatter.dateStyle = .short 
    formatter.timeStyle = .none 
    return formatter 
}() 

Dann gebe ich ihm etwas heute sagen:

let str = self.dateFormatter.string(from: Date()) 

Und ich verschiedene String-Formate in verschiedenen Fällen erhalten, Zum Beispiel kann ich eine Zeichenfolge wie 05.24.17 oder 5/24/17 sehen. Meine Frage: Kommt es auf die aktuellen Gebietsschema oder Geräteeinstellungen oder etw sonst?

Danke.

+1

ja, abhängig von den Geräten locale. – luk2302

Antwort

1

Wie in den Kommentaren erwähnt, DateFormatter verwendet die aktuelle Locale, um das genaue Datumsformat für die .short Stil zu bestimmen. Sie können jedoch konsistent formatierte Daten verkaufen, wenn Sie dies wünschen. Um dies zu tun, werden Sie die Locale explizit für das Datum Formatter setzen müssen, wie in dieser Spielplatz Momentaufnahme gezeigt:

enter image description here

+0

Jetzt ist es absolut klar, danke. – Miroslav