Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Apple Swift:如何在1/100或1/1000内获得当前秒数?_Ios_Swift_Nsdate_Nscalendar - Fatal编程技术网

Ios Apple Swift:如何在1/100或1/1000内获得当前秒数?

Ios Apple Swift:如何在1/100或1/1000内获得当前秒数?,ios,swift,nsdate,nscalendar,Ios,Swift,Nsdate,Nscalendar,我想知道如何更改此代码,以便在counterlabel.text中显示1/10或1/100或1/1000秒。 就是想不出来。。。谢谢 有一个纳秒的日历单位: func updateTime() { var date = NSDate() var calendar = NSCalendar.currentCalendar() var components = calendar.components(.CalendarUnitSecond, fromDate: date)

我想知道如何更改此代码,以便在counterlabel.text中显示1/10或1/100或1/1000秒。
就是想不出来。。。谢谢

有一个纳秒的日历单位:

func updateTime() {
    var date = NSDate()
    var calendar = NSCalendar.currentCalendar()
    var components = calendar.components(.CalendarUnitSecond, fromDate: date)
    var hour = components.hour
    var minutes = components.minute
    var seconds = components.second
    counterLabel.text = "\(seconds)"

    var myIndicator = counterLabel.text?.toInt()

    if myIndicator! % 2 == 0 {
        // do this
    } else {
       // do that
    }
}
Swift 3的更新

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitNanosecond, fromDate: date)
let nanoSeconds = components.nanosecond
let fmt = NSDateFormatter()
fmt.dateFormat = "HH:mm:ss.SSS"
counterLabel.text = fmt.stringFromDate(date)
这将以10-9秒为单位给出秒的小数部分。 对于毫秒,只需将该值除以106:

或者,如果您只想显示分数 秒,使用
NSDateFormatter
SSS
格式。例如:

let milliSeconds = nanoSeconds / 1_000_000
Swift 3的更新

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitNanosecond, fromDate: date)
let nanoSeconds = components.nanosecond
let fmt = NSDateFormatter()
fmt.dateFormat = "HH:mm:ss.SSS"
counterLabel.text = fmt.stringFromDate(date)

请注意,代码中的所有变量实际上都可以定义为常量(
let
),谢谢,Martin。工作得很有魅力!