0

我不明白为什么即使 openDate 等于 MINIMUM_Date,isValid 仍然为假。我使用 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
   }
}
4

1 回答 1

0

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

func validateDate(openDate: Date) -> Bool 

   var isValid: Bool = true          
   var MINIMUM_Date = Date()               
    if openDate < MINIMUM_Date {
        isValid = false
    }
            
    return isValid
}
于 2020-07-15T13:53:10.340 回答