How to determine if an NSDate is today?

前端 未结 20 2110
礼貌的吻别
礼貌的吻别 2020-11-28 18:20

How to check if an NSDate belongs to today?

I used to check it using first 10 characters from [aDate description]. [[aDate descriptio

20条回答
  •  天命终不由人
    2020-11-28 18:45

    Swift Extension based on the best answers:

    extension NSDate {
        func isToday() -> Bool {
            let cal = NSCalendar.currentCalendar()
            if cal.respondsToSelector("isDateInToday:") {
                return cal.isDateInToday(self)
            }
            var components = cal.components((.CalendarUnitEra | .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay), fromDate:NSDate())
            let today = cal.dateFromComponents(components)!
    
            components = cal.components((.CalendarUnitEra | .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay), fromDate:self);
            let otherDate = cal.dateFromComponents(components)!
            return today.isEqualToDate(otherDate)
        }
    }
    

提交回复
热议问题