我尝试快速制作一些东西,现在我需要从系统中获得十分之一秒。我已经检查了文档,从NSCalendar
开始,我只需要几纳秒。
func getTime() {
let dateNow = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond | .CalendarUnitNanosecond , fromDate: dateNow)
let x = CGFloat(components.nanosecond) * -1000000000
println(x)
let s = components.second
cSeconds = s;
let m = components.minute
let h = components.hour
// code...
}
您知道如何从系统中获取此信息吗?哦!我认为如果我得到至少几毫秒就可以了,因为我觉得使用它会容易得多。 感谢。
答案 0 :(得分:2)
一秒钟内有1,000,000,000纳秒,一秒钟就有1,000毫秒。因此,您可以简单地将纳秒除以1,000,000转换为毫秒,并将结果舍入为最接近的毫秒间隔。
let milliseconds = round(CGFloat(components.nanosecond) / 1000000)
答案 1 :(得分:1)
1纳秒是10 -9 秒。 将纳秒除以10 8 得到十分之一秒, 或者通过10 6 来获得毫秒。 例如:
let dateNow = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond | .CalendarUnitNanosecond , fromDate: dateNow)
let t = components.nanosecond / 100000000
let s = components.second
let m = components.minute
let h = components.hour
println(String(format:"%02ld:%02ld:%02ld.%01ld", h, m, s, t))
// 14:27:12.3
答案 2 :(得分:0)
您可以使用NSDateFormatter获取毫秒数吗?
let dateNow = NSDate()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd hh:mm:ss:SSS"
println(dateFormatter .stringFromDate(dateNow))
SSS代表毫秒。