在使用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")!
DateFormatter
的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
}
无法使用超出实际日历日期范围的无效日期字符串来实例化Date
。
如果您要问的是日期是否介于两个其他日期之间,请参阅此处:https://stackoverflow.com/a/40057117/1694526
使用DateFormatter类...它可用于检查任何字符串是否是有效日期,因此字符串可以转换为nsdata。