У меня есть на структуру, такие как:Как фильтровать массив Struct по дате?
struct AdData {
var AdRequest = Int?()
var Date = NSDate?() // eg: 2015-11-01 04:00:00 +0000
}
И массив AdData
:
var RawDataFromDb = [AdData]()
Я хочу, чтобы найти все предметы в RawDataFromDb
где Date
матчей сегодняшнего дня. Я решил, что мне нужно как-то удалить компонент времени компонента Date
, чтобы сравнить только дату, но я изо всех сил стараюсь найти элегантное решение.
До сих пор я пытался это без успеха:
public func ==(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs === rhs || lhs.compare(rhs) == .OrderedSame
}
public func <(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.compare(rhs) == .OrderedAscending
}
extension NSDate: Comparable { }
let TodayDate = NSDate()
let TodayRows = RawDataFromDb.filter{($0.Date == TodayDate}
Спасибо за вашу помощь!
Объяснить, что вы думаете «, где дата соответствует текущей даты " означает. Вы имеете в виду, что его день, независимо от времени, должен быть таким же, как сегодня, независимо от времени? – matt
Да, это именно так! К сожалению, я был не очень ясен – anto0522
Я уверен, что вы найдете решение в ответах на упомянутый поток, например. используя 'isDateInToday' из этого ответа: http://stackoverflow.com/a/25538987/1187415. В противном случае дайте мне знать, и я снова открою вопрос. –