在 Windows cmd 中获取精确到毫秒的系统时间
Get system time accurate to milliseconds in Windows cmd
我试图在 Windows cmd 中将系统时间精确到毫秒。我知道可以使用以下方法获得厘秒精度:
echo %time%
我发现其他问题也提出了完全相同的问题,但没有完全回答问题的答案。以下是我目前的发现:
此解决方案仅适用于厘秒精度(与我上面描述的相同):
Print time in a batch file (milliseconds)
此方案提供定时器方案,不提供打印当前时间戳方案:
Print Batch Time in Milliseconds
如有任何帮助,我们将不胜感激。
正如 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)"
对你来说可能是可行的
如果您有管理员权限,
如果您 运行 使用 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
如果你想自动执行减法,需要做更多的工作,但这是可以做到的
我试图在 Windows cmd 中将系统时间精确到毫秒。我知道可以使用以下方法获得厘秒精度:
echo %time%
我发现其他问题也提出了完全相同的问题,但没有完全回答问题的答案。以下是我目前的发现:
此解决方案仅适用于厘秒精度(与我上面描述的相同): Print time in a batch file (milliseconds)
此方案提供定时器方案,不提供打印当前时间戳方案: Print Batch Time in Milliseconds
如有任何帮助,我们将不胜感激。
正如 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)"
对你来说可能是可行的
如果您有管理员权限,
如果您 运行 使用 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
如果你想自动执行减法,需要做更多的工作,但这是可以做到的