2

我知道可以使用@echo %time%. 是否也有类似的命令来获取毫秒?

4

5 回答 5

1

有一个名为 Timethis 的资源工具包实用程序,可提供高达毫秒的时间测量:

TimeThis :  Command Line :  dir
TimeThis :    Start Time :  Wed Oct 24 12:49:56 2012
TimeThis :      End Time :  Wed Oct 24 12:49:56 2012
TimeThis :  Elapsed Time :  00:00:00.093
于 2012-10-24T16:52:21.167 回答
0

(编辑:doh,没有注意到这有 windows 标签。在​​此处留下答案,以防其他人在 Linux 上单击此)

如果您要计算程序或脚本的执行长度,请在命令前加上time,例如:

time ls -R

这将为您提供以毫秒为单位的执行时间:

real    0m0.667s
user    0m0.000s
sys     0m0.144s

如果您询问当前日期和时间:

看一眼:

man date

例如,

date +"%X %N"

这将为您提供 Hour:Minutes:Seconds 中的当前时间,然后是纳秒

希望这能回答你的问题

于 2012-10-24T16:48:57.877 回答
0

Gnugdate可以让这变得非常简单;例如,在批处理文件中尝试下面的代码。我用它来为命令窗口中调用的批处理创建唯一的文件名,在我的 Windows 7 系统上,很明显,至少在命令窗口中,gdate 的两个立即连续使用永远不会给出相同的结果。

gdate +"%%Y%%m%%d%%H%%M%%S%%N"
gdate +"%%Y%%m%%d%%H%%M%%S%%N"

set i=
set T=
for /f %%i in ('gdate +%%Y%%m%%d%%H%%M%%S%%N') do set UniqueTime=%%i

echo %UniqueTime%

但我实际上使用了更像下面一行的东西,丢弃了最后五位数字,因为就我的目的而言,它们似乎并不重要:前面的部分总是唯一的。这使唯一文件名更短。

gdate +"%%Y%%m%%d%%H%%M%%S%%N" | sed "s/.....$//"

很明显,同样的表达式在 Linux 下也可以使用,所以也可以在那里使用。

于 2019-02-09T11:05:20.280 回答
0

ptime 实用程序是“5ms 或更好”的准确度

ptime echo hallo

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <jberkes@pc-tools.net>

===  echo hallo ===
hallo

Execution time: 0.022 s
于 2019-02-09T11:25:23.953 回答
0

使用wmic os get LocalDateTime. 这也是获得独立于语言环境的日期和时间的可靠方法

for /F "usebackq tokens=2 delims==" %%i in (
    `wmic os get LocalDateTime /VALUE`
) do @set ctime=%%i
echo milliseconds: %ctime:~15,3%
于 2020-04-04T09:19:06.953 回答