我试图在Windows cmd中将系统时间精确到毫秒。我知道使用以下方法可以获得厘秒精度:
echo %time%
我发现其他问题的问题完全一样,但没有完全回答这个问题的答案。这是我到目前为止所发现的:
此解决方案仅适用于厘秒精度(与我上面描述的相同): Print time in a batch file (milliseconds)
此解决方案提供计时器解决方案,但不提供打印当前时间戳解决方案: Print Batch Time in Milliseconds
非常感谢任何帮助。
答案 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
如果要自动执行减法操作,则需要做更多的工作,但是可以完成