如何在 Swift 中检查有效的 Date()

And*_*ero 2 date nsdate swift

在使用 SQL 查询之前如何检查日期是否有效

request.predicate = NSPredicate (format: "% @ <= AND myDate% @> = myDate" startDate, endDate)
Run Code Online (Sandbox Code Playgroud)

闰年会出现错误,例如 2016 年 2 月 30 日。

// code form comment...
let startDate:NSDate = dateFormatter.dateFromString("2016-10-01")!
let endDate:NSDate = dateFormatter.dateFromString("2016-10-29")!
Run Code Online (Sandbox Code Playgroud)

ske*_*ech 8

DateFormatterdate(from:)方法生成的日期的返回值是可选的。如果nil返回日期无效,否则有效。

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

if let date = dateFormatter.date(from:"2016-02-30") {
    print(date) // if this prints date is valid
}
else {
    print("Date is Invalid") // if this prints date is invalid
}
Run Code Online (Sandbox Code Playgroud)

ADate不能使用超出实际日历日期范围的无效日期字符串进行实例化。

如果您要问的是某个日期是否介于其他两个日期之间,请参见此处:https : //stackoverflow.com/a/40057117/1694526