Ios 如何在swift 5中使用两个UIDatePicker获取并显示两次之间的差异
我是Swift的新手,我正在尝试计算两个UIDatePicker之间的时间差 我希望用户能够选择时间,然后按下按钮,显示的时间差显示在“标签”中,例如,用户选择下午5:00和11:00,它将显示6:00或类似的东西。我不知道该怎么做。比如(挑选者1-挑选者2)也许? 到目前为止,在我的代码中,我有:Ios 如何在swift 5中使用两个UIDatePicker获取并显示两次之间的差异,ios,swift,uidatepicker,swift5,xcode10,Ios,Swift,Uidatepicker,Swift5,Xcode10,我是Swift的新手,我正在尝试计算两个UIDatePicker之间的时间差 我希望用户能够选择时间,然后按下按钮,显示的时间差显示在“标签”中,例如,用户选择下午5:00和11:00,它将显示6:00或类似的东西。我不知道该怎么做。比如(挑选者1-挑选者2)也许? 到目前为止,在我的代码中,我有: 导入UIKit 类ViewController:UIViewController{ @IBOUTLE弱var选择器1:UIDATECIPKER! @IBOutlet弱var选择器2:UIDatePi
导入UIKit
类ViewController:UIViewController{
@IBOUTLE弱var选择器1:UIDATECIPKER!
@IBOutlet弱var选择器2:UIDatePicker!
@IBVAR弱标签1:UILabel!
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
}
@iAction func按钮映射(uu发送方:任意){
}
}
计算两个日期之间的距离,然后显示小时和分钟。它忽略秒数,但如果您也需要秒数,您应该能够遵循与我在这里所做的相同的模式
让firstDate=picker1.date
设secondDate=picker2.date
设timeInBetween=secondDate.timeIntervalSince(secondDate)//以秒为单位
var小时=0
var分钟=0
var秒=时间间隔
而秒数>=3600{
秒-=3600
小时数+=1
}
而秒数>=60{
秒-=60
分钟+=1
}
lable1.text=“\(小时)小时\(小时==1?”:“s”),\(分钟)分钟\(分钟==1?”:“s”)。”
编辑:尽管此解决方案有效,但我建议任何正在寻找解决方案的人都需要更新标签文本,而我的方法似乎仍是最佳选择。使用
日期组件
找出两个日期之间的差异:
let date1 = picker1.date
let date2 = picker2.date
let diff = Calendar.current.dateComponents([.hour, .minute], from: date1, to: date2)
print("\(diff.hour!), \(diff.minute!)")