Ios 标签的持续时间
我已经看了这里所有与获取持续时间有关的代码。我所需要做的只是花一段时间在标签上,以这种格式hr:m:s为例,比如20:23:04。我需要从currentTime.StringValue和oldTime.StringValue中获取时间,然后让它在durationOfTime.StringValue中显示小时的持续时间 例如,假设currentTime=11:00:04和oldTime=9:00:04,那么我想要durationOfTime=2小时Ios 标签的持续时间,ios,swift,date,time,dateformatter,Ios,Swift,Date,Time,Dateformatter,我已经看了这里所有与获取持续时间有关的代码。我所需要做的只是花一段时间在标签上,以这种格式hr:m:s为例,比如20:23:04。我需要从currentTime.StringValue和oldTime.StringValue中获取时间,然后让它在durationOfTime.StringValue中显示小时的持续时间 例如,假设currentTime=11:00:04和oldTime=9:00:04,那么我想要durationOfTime=2小时 就是现在,我有一个代码,可以得到时间,并以上面的
就是现在,我有一个代码,可以得到时间,并以上面的格式存储它。但是,我在这里尝试不同的代码时遇到了各种各样的问题,这些代码与持续时间有关。使用两个格式化程序:一个
DateFormatter
将字符串转换为Date
对象,另一个DateComponentFormatter
显示两个日期之间的持续时间:
let currentTimeStr = "11:00:04"
let oldTimeStr = "9:00:04"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "H:mm:ss"
let dateComponentFormatter = DateComponentsFormatter()
dateComponentFormatter.allowedUnits = [.hour, .minute]
dateComponentFormatter.unitsStyle = .short
if let currentTime = dateFormatter.date(from: currentTimeStr),
let oldTime = dateFormatter.date(from: oldTimeStr),
let durationStr = dateComponentFormatter.string(from: oldTime, to: currentTime)
{
print(durationStr) // 2 hrs
}
希望这是有帮助的。编辑了麦迪的建议
let currentTime = "11:00:04"
let oldTime = "9:00:04"
let currentTimeComponents = currentTime.components(separatedBy: ":")
let oldTimeComponents = oldTime.components(separatedBy: ":")
let hrsDifference = Int(currentTimeComponents[0])! - Int(oldTimeComponents[0])!
let minutesDifference = Int(currentTimeComponents[1])! - Int(oldTimeComponents[1])!
let secondsDifference = Int(currentTimeComponents[2])! - Int(oldTimeComponents[2])!
print("hrsDifference = ",hrsDifference)
print("minutesDifference = ",minutesDifference)
print("secondsDifference = ",secondsDifference)
请看一下DateIntervalFormatter
的文档。您可能想要H
,而不是H
。伙计,这就像一个冠军,我对您的代码感激不尽。非常感谢大家!!你真的帮了我很多忙。