web-dev-qa-db-fra.com

Vérifiez le format de la date de la chaîne s'il est conforme au format requis ou non

J'ai la même question posée ici en Java, Est-ce possible en swift?

func stringToDate(str: String) -> Date{

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd/MM/yyyy"

    //check validation of str 

    return date
}
5
Marry G

Tout comme Java, vérifiez s'il peut analyser correctement

let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd hh:mm:ss"
let someDate = "string date"

if dateFormatterGet.date(from: someDate!) != nil {

} else {
    // invalid format
}
8
Đào Minh Hạt

Pour Swift 4, la syntaxe a un peu changé:

 func isValidDate(dateString: String) -> Bool {
    let dateFormatterGet = DateFormatter()
    dateFormatterGet.dateFormat = "yyyy-MM-dd hh:mm:ss"
    if let _ = dateFormatterGet.date(from: dateString) {
        //date parsing succeeded, if you need to do additional logic, replace _ with some variable name i.e date
        return true
    } else {
        // Invalid date
        return false
    }
}
4
Ollikas

dans Swift3:

func stringToDate(str: String) -> Date{

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd/MM/yyyy"

    guard let date = dateFormatter.date(from: str){
        return Date()
    }

    return date

}
0
Marry G