在Windows cmd中将系统时间精确​​到毫秒

时间:2016-03-08 15:24:12

标签: windows cmd timestamp milliseconds

我试图在Windows cmd中将系统时间精确​​到毫秒。我知道使用以下方法可以获得厘秒精度:

echo %time%

我发现其他问题的问题完全一样,但没有完全回答这个问题的答案。这是我到目前为止所发现的:

此解决方案仅适用于厘秒精度(与我上面描述的相同): Print time in a batch file (milliseconds)

此解决方案提供计时器解决方案,但不提供打印当前时间戳解决方案: Print Batch Time in Milliseconds

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

正如Neil所指出的,cmd中没有原生解决方案。对于任何可以选择使用PowerShell的人,您可以使用以下内容:

(Get-Date -UFormat "%Y-%m-%d %H:%M:%S").toString() + "." + ((Get-Date).millisecond)

可能有一种更简洁的方式,但这符合我的目的。

答案 1 :(得分:0)

可能对您来说是可行的

如果您有admin privs,
并且如果您在WINDOWS系统上运行
并且如果您将一台联网计算机配置为时间从站(另一台计算机),
如果只想测量TIME DELTAS,
您可以查询Windows“ W32tm”实用程序。

它为您提供自上一秒以来的微秒 通过电话进行时间同步

C:\> w32tm /query /status /verbose

(打印出很多的东西)

然后仅拔出具有最后同步时间的行

C:\> w32tm /query /status /verbose | FIND "Time since"

Time since Last Good Sync Time: 15554.1918553s

然后,从BAT文件中执行以下操作:

for /F "tokens=7 delims= " %%a in ('w32tm /query /status /verbose ^| find "Time since" ') do set BEFORE_TIME=%%a

(要测量的内容在这里)

for /F "tokens=7 delims= " %%a in ('w32tm /query /status /verbose ^| find "Time since" ') do set AFTER_TIME=%%a

如果要自动执行减法操作,则需要做更多的工作,但是可以完成