如何将 Int 转换为 Time(MM:SS.mm) swift
How to convert Int to Time(MM:SS.mm) swift
我有一个 Int,比如说 15344
,我将它作为字符串发送到标签,但我希望它被格式化为 01:53.44
var split = data.valueForKeyPath("time") as! Int
cell.textLabel?.text = split.description
但这只给我 15344
没有格式。我试过 .stringbyAppendingformat
但没能成功。提前致谢!
这似乎是一种奇怪的时间格式化方式。有一个 NSDate api 使用 NSDateFormatter 来达到这个目的。可以在此处找到文档:
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/
您可能想使用:
func stringFromDate(_ date: NSDate) -> String
简单的解决方案是
先转成字符串,
let time = "15344"
let rangeOfSecond = Range(start: (advance(time.endIndex, -2)),
end: time.endIndex)
let secondString = time.substringWithRange(rangeOfSecond)
分钟
let rangeOfMinute = Range(start: (advance(time.endIndex, -4)),
end: time.endIndex - 2)
let minuteString = time.substringWithRange(rangeOfMinute)
小时也是如此。然后用“:”连接所有子字符串。
这是一种存储时间的奇怪方式,也许你应该想想
关于使用毫秒数代替。如果那不是一个选择,
你可以 "dissect" 整数
let time = 15344
let minutes = time / 10000
let seconds = (time / 100) % 100
let centis = time % 100
然后用
创建一个字符串
let text = String(format:"%d:%02d.%02d", minutes, seconds, centis)
print(text) // 1:53.44
我有一个 Int,比如说 15344
,我将它作为字符串发送到标签,但我希望它被格式化为 01:53.44
var split = data.valueForKeyPath("time") as! Int
cell.textLabel?.text = split.description
但这只给我 15344
没有格式。我试过 .stringbyAppendingformat
但没能成功。提前致谢!
这似乎是一种奇怪的时间格式化方式。有一个 NSDate api 使用 NSDateFormatter 来达到这个目的。可以在此处找到文档:
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/
您可能想使用:
func stringFromDate(_ date: NSDate) -> String
简单的解决方案是
先转成字符串,
let time = "15344"
let rangeOfSecond = Range(start: (advance(time.endIndex, -2)),
end: time.endIndex)
let secondString = time.substringWithRange(rangeOfSecond)
分钟
let rangeOfMinute = Range(start: (advance(time.endIndex, -4)),
end: time.endIndex - 2)
let minuteString = time.substringWithRange(rangeOfMinute)
小时也是如此。然后用“:”连接所有子字符串。
这是一种存储时间的奇怪方式,也许你应该想想 关于使用毫秒数代替。如果那不是一个选择, 你可以 "dissect" 整数
let time = 15344
let minutes = time / 10000
let seconds = (time / 100) % 100
let centis = time % 100
然后用
创建一个字符串let text = String(format:"%d:%02d.%02d", minutes, seconds, centis)
print(text) // 1:53.44