Swift 将字符串转换为秒、分钟和小时
我有时间线Swift 将字符串转换为秒、分钟和小时,swift,time,Swift,Time,我有时间线 duration = "00:01:28" 我想展示28秒,1分钟。如何以秒,分和小时的形式获得单独的组件 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "HH:mm:ss" let date = dateFormatter.date(from:duration) let calendar = Calendar.current let
duration = "00:01:28"
我想展示28秒,1分钟。如何以秒,分和小时的形式获得单独的组件
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
let date = dateFormatter.date(from:duration)
let calendar = Calendar.current
let comp = calendar.dateComponents([.hour, .minute], from: date!)
let hour = comp.hour
let minute = comp.minute
let sec = comp.second
print(sec)
print(minute)
我尝试了这个代码,但在打印语句中得到了零。几乎。当然,
sec
打印nil
,因为您没有指定second
组件
要打印请求的字符串格式,我建议使用datecomponentsformter
let duration = "00:01:28"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
let date = dateFormatter.date(from:duration)
let components = Calendar.current.dateComponents([.hour, .minute, .second], from: date!)
let componentsFormatter = DateComponentsFormatter()
componentsFormatter.allowedUnits = [.hour, .minute, .second]
componentsFormatter.unitsStyle = .short
componentsFormatter.string(from: components) // "1 min, 28 secs"