【发布时间】:2015-11-04 19:30:15
【问题描述】:
我有一个结构,例如:
struct AdData {
var AdRequest = Int?()
var Date = NSDate?() // eg: 2015-11-01 04:00:00 +0000
}
还有一个AdData的数组:
var RawDataFromDb = [AdData]()
我想找到RawDataFromDb 中Date 与今天日期匹配的所有项目。我想我必须以某种方式删除 AdData 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}
感谢您的帮助!
【问题讨论】:
-
解释您认为“日期与今天的日期匹配的位置”是什么意思。你的意思是它的日子,不管时间,都应该和今天一样,不管时间?
-
是的,就是这样!抱歉我不是很清楚
-
我很确定您会在引用线程的答案中找到解决方案,例如使用来自这个答案的
isDateInToday:stackoverflow.com/a/25538987/1187415。否则请告诉我,我会重新提出问题。 -
嗨马丁,谢谢你的链接。尽管它确实提供了一些有用的信息,但我建议我们将这个线程保持打开状态,因为它与结构特别相关,并且此处给出的答案与您链接的帖子中的答案大不相同。
标签: swift struct nsdate foundation