我制作了一个带有datePicker和2个按钮的应用程序-“签入”和“签出”。我以小时和分钟为单位在两个时间戳之间进行了计算。 现在,如果“签入”时间在12:00之前,我想从该时间间隔中减去30分钟。
var start = Date()
var end = Date()
class ViewController: UIViewController {
@IBOutlet weak var timeWheel: UIDatePicker!
@IBOutlet weak var workLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func checkIn(_ sender: Any) {
start = timeWheel.date
workLabel.text = ""
}
@IBAction func checkOut(_ sender: Any) {
end = timeWheel.date
let difference = Calendar.current.dateComponents([.hour, .minute], from: start, to: end)
workLabel.text = "\(difference.hour ?? 0) timer og \(difference.minute ?? 0) minutter"
}
}
有什么建议吗?
答案 0 :(得分:0)
在计算差异之前,请获取hour
的{{1}}分量,并检查其是否小于12。如果是,则减去30分钟,然后进行数学运算
start
强制拆开组件非常好,因为两个组件均已明确要求。