我正在尝试计算 18:00 和 06:00 之间的时间差并以相同的格式显示结果。这两个时间都是手动输入的。
最佳答案
首先从字符串输入创建两个 NSDate 并获取两者之间的间隔,然后将间隔传递给我们将创建的格式化函数:
let date1:String = "12:00"
let date2:String = "13:00"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
let date3 = dateFormatter.dateFromString(date1)
let date4 = dateFormatter.dateFromString(date2)
let interval = date4!.timeIntervalSinceDate(date3!)
print("\(stringFromTimeInterval(interval))")
现在我们需要格式化间隔,即两者之间的秒数,因此创建一个返回字符串的函数:
func stringFromTimeInterval(interval: NSTimeInterval) -> String {
let interval = Int(interval)
let minutes = (interval / 60) % 60
let hours = (interval / 3600)
return String(format: "%02d:%02d", hours, minutes)
}
在您的情况下,您将根据我猜测程序中的文本字段设置日期1和日期2。
关于swift - 使用冒号计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988042/