Swift 将毫秒整数转换为时间格式的字符串

Swift 将毫秒整数转换为时间格式的字符串,swift,formatting,nsdateformatter,nsnumberformatter,nsformatter,Swift,Formatting,Nsdateformatter,Nsnumberformatter,Nsformatter,这可能是一个简单的问题,但我很困惑,需要你的帮助。 我需要将其转换为: let S: Int = 45296789 其中:“123456789” 也就是说,S是表示毫秒的整数。我需要的是将其格式化为“hh-mm-ss-iii” 解决方案之一可以是: var a = S/1000/60/60 var b = S/1000/60%60 var c = S/1000 % 60 var d = S % 1000 String(format:"%02i %02i %02i %03i", a, b, c

这可能是一个简单的问题,但我很困惑,需要你的帮助。 我需要将其转换为:

let S: Int = 45296789
其中:“123456789”

也就是说,S是表示毫秒的整数。我需要的是将其格式化为“
hh-mm-ss-iii

解决方案之一可以是:

var a = S/1000/60/60
var b = S/1000/60%60
var c = S/1000 % 60
var d = S % 1000

String(format:"%02i %02i %02i %03i", a, b, c, d)
但我需要的是一个使用
NSDateFormatter()
NSTimeFormatter()
的方法,如果可能的话

我查看了stackoverflow,但是有太多形式的解决方案,我找不到包括毫秒在内的解决方案。(789毫秒部分)

尝试以下操作:

let s = 45296789

let date = NSDate(timeIntervalSince1970: Double(s) / 1000)
let formatter = NSDateFormatter()
formatter.timeZone = NSTimeZone(name: "UTC")
formatter.dateFormat = "HH mm ss SSS"

print(formatter.stringFromDate(date))
您可能希望24小时格式为“HH”,而不是“HH”。