web-dev-qa-db-ja.com

文字列の日付形式が必要な形式に従っているかどうかを確認します

私は同じ質問をされました ここ Javaでは、それは迅速に可能ですか?

func stringToDate(str: String) -> Date{

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

    //check validation of str 

    return date
}
7
Marry G

Javaと同じように、正しく解析できるかどうかを確認します

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

if dateFormatterGet.date(from: someDate) != nil {
    // valid format
} else {
    // invalid format
}
12

Swift 4の場合、構文が少し変更されました:

 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
    }
}
7
Ollikas

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

スウィフト5

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

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

} else {
    // invalid format
}
0