如何在过去7天内使用日期范围识别数组中的对象(Swift)?

时间:2018-01-05 15:58:48

标签: swift

我知道在Swift中有很多关于日期和使用/比较日期的问题,但我没有看到这个具体问题。

这是我的问题,我有一个包含对象的数组,其中一个对象属性是保存记录时创建的Date对象(createdDate = Date())。我希望能够选择具有过去X天(7,28等)日期的记录。

不确定从哪里开始任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Swift拥有强大的工具来处理数组。在您的情况下,您需要过滤您的阵列。

let keyDate = Date(timeIntervalSinceNow: -7 * 60 * 60 * 24)
let filteredArray = originalArray.filter{ $0.createdDate > keyDate }

检查更多:https://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/

编辑: 关于获取keyDate - 如果你完全持续7 * 24小时* 60分钟* 60秒 - 使用timeInterval从现在开始。如果你需要基于秒的日期,那么按日历,

let keyDate = Calendar(identifier: .gregorian).date(byAdding: .day, value: -7, to: Date())

更多详情请见:https://developer.apple.com/documentation/foundation/calendar/2293676-date