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

问题描述 投票:-1回答:2

在使用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")!
swift date nsdate
2个回答
3
投票

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
}

无法使用超出实际日历日期范围的无效日期字符串来实例化Date

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.