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

时间:2016-10-26 12:04:14

标签: swift date nsdate

在使用

进行SQL查询之前,如何检查日期是否有效
request.predicate = NSPredicate (format: "% @ <= AND myDate% @> = myDate" startDate, endDate)

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

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

2 个答案:

答案 0 :(得分:3)

DateFormatter的{​​{1}}方法生成的日期的返回值是可选的。如果返回date(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 }

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

答案 1 :(得分:0)

使用DateFormatter类...它可用于检查任何字符串是否为有效日期,因此字符串可以转换为nsdata。