最小日期和最大日期之间的时差

时间:2017-11-07 06:54:26

标签: swift

我是iPhone应用程序开发的新手。我想在几小时内找到min_date和max_date之间的区别。并希望在textfield中保存其值。请提供完整的代码,以找出两个日期之间的差异。例如如果min_date:1989年12月12日,凌晨12:00和max_date:13/07 / 1989,12:00,则总小时数为24小时。请在swift 3.0中提供代码。

3 个答案:

答案 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) 

这是两种日期之间搜索差异最灵活的方法。您可以使用其他组件搜索数月,日,年等。