Mit Swift 3, Apple Developer-API-Referenz besagt, über DateFormatter
‚s dateFormat
Eigenschaft:
Sie nur diese Eigenschaft festlegen sollten, wenn sie mit festem Format Darstellungen arbeiten, wie in Working With Fixed Format Date Representations diskutiert. Für benutzerfreundliche Darstellungen sollten Sie die Eigenschaften dateStyle und timeStyle oder die setLocalizedDateFormatFromTemplate(_:)-Methode verwenden, wenn das gewünschte Format nicht mit den vordefinierten Stilen erreicht werden kann. Diese beiden Eigenschaften und diese Methode stellen eine lokalisierte Datumsdarstellung dar, die für die Anzeige für den Benutzer geeignet ist.
DateFormatter
dateStyle
Eigenschaft hat die folgende Erklärung abgegeben:
Das Datum Stil des Empfängers.
var dateStyle: DateFormatter.Style { get set }
In gleicher Weise hat DateFormatter
timeStyle
Eigentum folgende Erklärung ab:
Die Zeit Stil des Empfängers.
var timeStyle: DateFormatter.Style { get set }
Beachten Sie, dass DateFormatter.Style
ist eine Enumeration mit den folgenden Fällen: none
, short
, medium
, long
, full
.
Beachten Sie auch, dass doesRelativeDateFormatting
funktioniert nur, wenn Sie dateStyle
und/oder timeStyle
für Sie DateFormatter
Instanz festgelegt.mit DateFormatter
dateStyle
und timeStyle
Eigenschaften
Der folgende Spielplatz Code zeigen, wie Sie Ihre Reisedaten in dem gewünschten Format angezeigt werden soll.
import Foundation
let now = Date() // 2017-03-12 14:53:34 +0000
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: now)! // 2017-03-11 14:53:34 +0000
let aWeekAgo = Calendar.current.date(byAdding: .weekOfMonth, value: -1, to: now)! // 2017-03-05 14:53:34 +0000
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .short
dateFormatter.doesRelativeDateFormatting = true
let nowString = dateFormatter.string(from: now)
print(nowString) // prints: Today at 3:53 PM
let yesterdayString = dateFormatter.string(from: yesterday)
print(yesterdayString) // prints: Yesterday at 3:53 PM
let aWeekAgoString = dateFormatter.string(from: aWeekAgo)
print(aWeekAgoString) // prints: March 5, 2017 at 3:53 PM
** Swift 3 Antwort: ** https://stackoverflow.com/a/46027060/3400991 –