Ios 如何将纳秒转换为毫秒

Ios 如何将纳秒转换为毫秒,ios,swift,nsdate,nscalendar,milliseconds,Ios,Swift,Nsdate,Nscalendar,Milliseconds,我正在尝试从NSCalendarUnit获取毫秒。我能够获得纳秒,但那有太多的数字。我只想要两个数字。这是我的密码: var startDate = NSDate() let dateComponents = NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitNanosecond, fromDate: startDate, toDate: NSDate(), options: nil) let strFract

我正在尝试从
NSCalendarUnit
获取
毫秒。我能够获得
纳秒
,但那有太多的数字。我只想要两个数字。这是我的密码:

var startDate = NSDate()
let dateComponents = NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitNanosecond, fromDate: startDate, toDate: NSDate(), options: nil)

let strFraction = String(format: "%02d", dateComponents.nanosecond)
timeLabel.text = "\(strFraction)"

如何从NSCalendarUnit中获取毫秒数?

因为没有
Calendar.Component.millister
,与之相反,我们需要将纳秒转换为毫秒。1毫秒是1000000纳秒,因此需要将纳秒数除以1000000。如果您想要一个整数值,
round(纳秒/1000000)

我尝试了以下操作:
让strFraction=String(格式:“%02d”,round(dateComponents.nanosecond/1000000))
它给了我以下错误:
找不到接受类型为“(Int)的参数列表的“round”的重载“
这是因为
round
无法处理参数的正则整数。它只接受double或float。因此,您希望通过
double(dateComponents.nanosecond)/1000000将
dateComponents.nanosecond/1000000转换为double,您的意思是:
let毫秒:double=(dateComponents.nanosecond)/1000000