如何检查特定日期的今天日期[重复]

问题描述 投票:-3回答:3

这个问题在这里已有答案:

我想查看今天的日期与其他日期在String,如果两者都是等于那么需要执行一些任务。

我试过date1 < date2,但它是在比较日期,我想要同等的检查

ios swift nsdate
3个回答
-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!!!")
}

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)

等等...

无论哪个时区,正在使用哪种日历类型等,这都将有效...


-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)!
    }

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