Ios 在swift 4中比较日与日的问题
需要进行比较,以检查日期是否已过日期 我试过这个Ios 在swift 4中比较日与日的问题,ios,swift,Ios,Swift,需要进行比较,以检查日期是否已过日期 我试过这个 let calendar = NSCalendar.current //Get just MM/dd/yyyy from current date let components = calendar.dateComponents([], from: Date()) //Convert to NSDate let pastDates = self.calendar.selectedDates.filter { $0 < calenda
let calendar = NSCalendar.current
//Get just MM/dd/yyyy from current date
let components = calendar.dateComponents([], from: Date())
//Convert to NSDate
let pastDates = self.calendar.selectedDates.filter { $0 < calendar.date(from: components as DateComponents)! }
let calendar=NSCalendar.current
//仅从当前日期获取MM/dd/yyyy
让components=calendar.dateComponents([],from:Date())
//转换为NSDate
让pastDates=self.calendar.selectedDates.filter{$0
更新下一行,为您提供一个日期
对象
let components = calendar.dateComponents([.month, .day, .year], from: Date())
当前,您没有在数组中提供任何
日期
组件,因此您将不会获得日期
对象更新下一行以提供日期
对象
let components = calendar.dateComponents([.month, .day, .year], from: Date())
目前,您没有在数组中提供任何
日期
组件,因此您将不会获得日期
对象我不明白您的问题是什么,但希望这能帮助您:
let beforeDateStr = "04/12/2018"
let todayDate = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let beforeDateFormatted = dateFormatter.date(from: beforeDateStr)
if Calendar.current.compare(todayDate, to: beforeDateFormatted!, toGranularity: .day) == .orderedDescending {
print("before date day is lesser than current date")
} else {
print("before date day is equal or greater than todays date")
}
我不明白你的问题是什么,但希望这能帮助你:
let beforeDateStr = "04/12/2018"
let todayDate = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let beforeDateFormatted = dateFormatter.date(from: beforeDateStr)
if Calendar.current.compare(todayDate, to: beforeDateFormatted!, toGranularity: .day) == .orderedDescending {
print("before date day is lesser than current date")
} else {
print("before date day is equal or greater than todays date")
}
要查找较小或较大的日期,请执行以下操作: 您可以使用以下简单代码:
let differenceBetweenTwoDate = Calendar.current.dateComponents([.day], from: previousDate, to: Date())
if differenceBetweenTwoDate.day! > 0{
print("date is bigger")
}else{
print("date is smaller")
}
希望有帮助 要查找较小或较大的日期: 您可以使用以下简单代码:
let differenceBetweenTwoDate = Calendar.current.dateComponents([.day], from: previousDate, to: Date())
if differenceBetweenTwoDate.day! > 0{
print("date is bigger")
}else{
print("date is smaller")
}
希望有帮助 这是如何在当前日期和时间中添加小时或天的方法-
calendar.date(byAdding: .hour, value: 1, to: currentDate)
calendar.date(byAdding: .day, value: 7, to: currentDate)
这就是你如何比较两个日期,计算小时、分钟和天数的方法
let calendar = Calendar.current
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let anyDataTime = dateFormatter.date(from: anotherDateTime)
let components = calendar.dateComponents([.minute], from: Date(), to: anyDataTime!)
let hour = (Double(components.minute!) / 60.0).rounded()
这就是如何在当前日期和时间中添加小时或天-
calendar.date(byAdding: .hour, value: 1, to: currentDate)
calendar.date(byAdding: .day, value: 7, to: currentDate)
这就是你如何比较两个日期,计算小时、分钟和天数的方法
let calendar = Calendar.current
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let anyDataTime = dateFormatter.date(from: anotherDateTime)
let components = calendar.dateComponents([.minute], from: Date(), to: anyDataTime!)
let hour = (Double(components.minute!) / 60.0).rounded()
你能解释一下这个问题吗。?你是否需要比较两个日期,并检查日期是否过期。你没有从日期中得到任何日期成分。你能解释更多关于这个问题吗。?您是否需要比较两个日期并检查日期是否已过?您没有从日期中获取任何日期组件
let pastDates=calendar.selectedDates.filter{calendar.current.compare($0,to:date(),toGranularity:.day)==.orderedAscending}
let pastDates=calendar.selectedDates.filter{Calendar.current.compare($0,to:Date(),toGranularity:.day)==.orderedAscending}