Как получить текущее время с помощью миллисекунд

#time #tcl #milliseconds

#время #tcl #миллисекунды

Вопрос:

Я использую TCL версии 8.6 и пытаюсь «получить текущее время за миллисекунды» с помощью TCL.

Результат, который я хотел бы получить, выглядит следующим образом: используя пример времени

 11:06:52.123
  

Ответ №1:

 set t [clock milliseconds]
set timestamp [format "%s.d" 
                  [clock format [expr {$t / 1000}] -format %T] 
                  [expr {$t % 1000}] 
              ]
  

Оглядываясь назад на это, я бы использовал вспомогательный процесс для наведения порядка:

 proc divmod {numerator divisor} {
    list [expr {$numerator / $divisor}] [expr {$numerator % $divisor}]
}

lassign [divmod [clock milliseconds] 1000] sec milli
set timestamp [format {%s.d} [clock format $sec -format %T] $milli]