我想检查今天的日期和String
中的其他日期,如果两者相等,则需要执行一些任务。
我尝试过date1 < date2
,但它正在比较日期,我希望进行同等检查
答案 0 :(得分:1)
日期很复杂...让Apple为您完成... Calendar date comparison
let date1 = // some date
let date2 = // some date
let isSameDay = Calendar.current.isDate(date1, equalTo: date2, toGranularity: .day)
let isSameHour = Calendar.current.isDate(date1, equalTo: date2, toGranularity: .hour)
let isSameMonth = Calendar.current.isDate(date1, equalTo: date2, toGranularity: .month)
等...
无论使用哪个时区,使用哪种日历类型等等,该功能都将起作用。
答案 1 :(得分:-2)
比较两个日期字符串,
if date1.stringWithFormatter(dateFormat: "yyyy-MM-dd") == Date().stringWithFormatter(dateFormat: "yyyy-MM-dd") {
// today's date
}else{
// not today's date
}
extension Date {
func stringWithFormatter(dateFormat: String) -> String {
let formatter: DateFormatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = dateFormat
return formatter.string(from: self)
}
func datefromString(string:String,dateFormat: String) -> Date {
let formatter: DateFormatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = dateFormat
return formatter.date(from: string)!
}
}
答案 2 :(得分:-3)
使用下面的代码检查相等的日期
func getCurrentDate() -> String {
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "dd.MM.yyyy"
let result = formatter.string(from: date)
print(result)
return result
}
现在检查您的日期
if self.getCurrentDate() == "01.01.2001" {
\\Your stuff to be added
print("Date found!!!")
}