Swift Datum in string konvertieren Date to String Convert DE

VonTobias Stephan

Swift Datum in string konvertieren Date to String Convert DE

Hier eine einfache Funktion mit der Du ein Date in ein deutsches Datumsformat als Stirng konvertieren kannst. Das in deutschland übliche Format sieht so aus: “dd.MM.yyyy hh:mm:ss”

Natürlich kannst Du das auch durch andere Formate prolbemlos ersetzen.

public static func ConvertDateToGermanFormat(DateValue: Date) - String {
        let df = DateFormatter()
        //Nun legen wir das in Deutschland übliche Format fest
        df.dateFormat = "dd.MM.yyyy hh:mm:ss"
        //aus dem Date erzeugen wir wiederum ein String
        let sNewDateFormat = df.string(from: DateValue)
        return sNewDateFormat
}

Gibt nur das Datum im lokalen Format je nach Nutzer einstellung aus.
Das Ergebnis kann wie folgt aussehen: “12/31/2019”

let today = Date()
let formatter1 = DateFormatter()
formatter1.dateStyle = .short
print(formatter1.string(from: today))

Hier die Ausgabe von Datum und Uhrzeit abhängig von den regionalen Einstellungen:
Das Ergebnis kann so aussehen: “20:27:32” or “8:27:32pm”

let formatter2 = DateFormatter()
formatter2.timeStyle = .medium
print(formatter2.string(from: today))

Hier ein paar fertige Datumsfunktionen in einer Klasse:

class Tools {

    public static func ConvertDateToGermanFormat(DateValue: Date) -> String {
        let df = DateFormatter()
        //Nun legen wir das in Deutschland übliche Format fest
        df.dateFormat = "dd.MM.yyyy HH:mm:ss"
        //aus dem Date erzeugen wir wiederum ein String
        let sNewDateFormat = df.string(from: DateValue)
        return sNewDateFormat
    }

    public static func ConvertDateOnlyFormat(DateValue: Date) -> String {
           let df = DateFormatter()
           //Nun legen wir das in Deutschland übliche Format fest
           df.dateFormat = "dd.MM.yyyy"
           //aus dem Date erzeugen wir wiederum ein String
           let sNewDateFormat = df.string(from: DateValue)
           return sNewDateFormat
       }

    public static func ConvertDateToLocalFormat(DateValue: Date) -> String {
        let formatter = DateFormatter()
        formatter.timeStyle = .medium
        return formatter.string(from: DateValue)
    }

    public static func ConvertDateToLocalDateOnlyFormat(DateValue: Date) -> String {
         let formatter = DateFormatter()
         formatter.dateStyle = .medium
         return formatter.string(from: DateValue)
     }

    public static func ConvertStringToDate(DateValue: String) -> Date {
        let formatter = DateFormatter()
        let dValue = DateValue

        //formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
        var date = formatter.date(from: dValue)
        if (date==nil)
        {
            formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
                date = formatter.date(from: dValue)
        }
        return date!
    }

}

Über den Autor

Tobias Stephan administrator

Schreibe eine Antwort