我是iPhone应用程序开发的新手。我想在几小时内找到min_date和max_date之间的区别。并希望在textfield中保存其值。请提供完整的代码,以找出两个日期之间的差异。例如如果min_date:1989年12月12日,凌晨12:00和max_date:13/07 / 1989,12:00,则总小时数为24小时。请在swift 3.0中提供代码。
答案 0 :(得分:1)
首先,使用timeIntervalSince
以秒为单位获得差异:
let timeInterval = max_date.timeIntervalSince(min_date)
然后你可以做一些数学来计算小时数
let hours = timeInterval / 60 / 60
根据您的要求,您可以选择此数字下限或上限。
答案 1 :(得分:0)
let previousDate = ...
let now = Date()
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full
formatter.allowedUnits = [.month, .day, .hour, .minute, .second]
formatter.maximumUnitCount = 2 // often, you don't care about seconds
if the elapsed time is in months, so you'll set max unit to whatever is
appropriate in your case
let string = formatter.string(from: previousDate, to: now)
答案 2 :(得分:0)
let minDate = Date() // your min date
let maxDate = Date() // your max date
let components = Calendar.current.dateComponents([.hour], from: minDate, to: maxDate)
这是两种日期之间搜索差异最灵活的方法。您可以使用其他组件搜索数月,日,年等。