datePicker and validateDate condition in swift



我不明白为什么即使openDate等于MINIMUM_Date,isValid仍然为false。我使用datePicker来获取openDate值。

更新

我从Date((中删除了时间,isValid返回true,但如果我输入今天的日期,我得到的是昨天的日期。

func validateDate(openDate: Date) -> Bool {
var isValid: Bool = true

let MINIMUM_Date = Date()
let MINIMUM_DateWithoutTime = MINIMUM_Date.removeTimeStamp.              
if openDate <= MINIMUM_DateWithoutTime! {
isValid = false
}

return isValid
}
extension Date {
public var removeTimeStamp : Date? {
guard let date = Calendar.current.date(from: Calendar.current.dateComponents([.year, .month, .day], from: self)) else {
return nil
}
return date
}
}

您没有正确初始化MINIMUM_Date。当函数被调用时,在运行时初始化当前日期对象

func validateDate(openDate: Date) -> Bool 
var isValid: Bool = true          
var MINIMUM_Date = Date()               
if openDate < MINIMUM_Date {
isValid = false
}

return isValid
}

最新更新