将milliseconds转换为时间格式化的String

时间:2016-05-30 17:36:46

标签: swift formatting nsdateformatter nsnumberformatter nsformatter

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

let S: Int = 45296789

进入:“12 34 56 789”

也就是说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毫秒部分)

1 个答案:

答案 0 :(得分:2)

试试这个:

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))