我知道在Swift中有很多关于日期和使用/比较日期的问题,但我没有看到这个具体问题。
这是我的问题,我有一个包含对象的数组,其中一个对象属性是保存记录时创建的Date对象(createdDate = Date()
)。我希望能够选择具有过去X天(7,28等)日期的记录。
不确定从哪里开始任何帮助表示赞赏。
答案 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