我正在尝试在Windows cmd中获得精确到毫秒的系统时间。我知道可以使用以下命令获得厘米级的精度:
echo %time%我发现其他问题也在问同样的问题,但没有完全回答这个问题的答案。这是我到目前为止发现的:
这个解决方案只适用于厘米级的精度(与我上面描述的相同):Print time in a batch file (milliseconds)
此解决方案提供计时器解决方案,但不提供打印当前时间戳解决方案:Print Batch Time in Milliseconds
任何帮助都将不胜感激。
发布于 2016-03-14 03:33:02
正如Neil指出的那样,cmd中没有本机解决方案。对于可以选择使用PowerShell的任何人,您可以使用以下命令:
(Get-Date -UFormat "%Y-%m-%d %H:%M:%S").toString() + "." + ((Get-Date).millisecond)也许有一种更简洁的方法可以做到这一点,但这对我的目的很有效。
由于问题被标记为cmd,因此从cmd调用此命令的适当命令行为:
powershell -command "(Get-Date -UFormat '%Y-%m-%d %H:%M:%S').toString() + '.' + ((Get-Date).millisecond)"发布于 2018-07-23 21:14:19
对你来说可能是个可行的办法
如果您有管理员权限,
如果你在WINDOWS系统上运行
如果你有一台联网的机器被配置为时间从机(到另一台机器),
如果只想测量时间增量,
您可以查询Windows的"W32tm“实用程序。
它通过调用为您提供自上次同步以来的微秒数
C:\> w32tm /query /status /verbose(Lotsa内容打印输出)
然后,仅取出具有上次同步时间的行
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如果您希望自动执行减法,则需要做更多的工作,但这是可以完成的
https://stackoverflow.com/questions/35871328
复制相似问题