Click here to see the image我正在按照标题上的两个按钮进行操作我有两次上午/下午。 我已经尝试了很多方法来减去这两个按钮之间的时间但没有成功。 请建议我正确的方法,如何减去IN时间和OUT时间,并在几小时内得到总时间。
答案 0 :(得分:3)
您可以使用Calendar方法dateComponents来计算两个日期之间的小时数。您可以使用DateFormatter从字符串中获取日期:
let start = "09:35 PM"
let end = "09:36 AM"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "hh:mm a"
if let startDate = dateFormatter.date(from: start),
let endDate = dateFormatter.date(from: end) {
let hours = Calendar.current.dateComponents([.hour], from: startDate, to: endDate < startDate ? Calendar.current.date(byAdding: .day, value: 1, to: endDate) ?? endDate : endDate).hour ?? 0
print(hours) // 12
}
答案 1 :(得分:-1)
将两个时间转换为Date
对象,然后使用下面的语句。
let interval = laterDate.timeIntervalSinceDate(earlierDate)
希望这会对你有帮助......