我已经查看了此处与获取持续时间有关的所有代码。我需要做的就是简单地记下标签中的时间,格式为 hr:m:s,例如 20:23:04。我需要从 currentTime.StringValue 中获取时间,从 oldTime.StringValue 中获取时间,然后让它在 durationOfTime.StringValue 中显示持续时间。
例如说 currentTime = 11:00:04 和 oldTime = 9:00:04 那么我想要 durationOfTime = 2hr。
就是这样,现在我有一个代码可以获取时间并以上面的格式存储它。但是,我在此处尝试使用与持续时间有关的不同代码时遇到了各种问题。
最佳答案
使用 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
}
关于ios - 标签的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50146031/