|
|
发表于 2024-6-28 21:38:53
|
显示全部楼层
本帖最后由 newswan 于 2024-6-30 20:23 编辑
时间计算 做一个函数出来比较方便
- call :C_TimeDiff tt t0 t1
- call :C_GetDateTime _dt_
- :C_GetDateTime
- SETLOCAL
- for /f "usebackq tokens=1,2 delims==." %%a in (` wmic os get LocalDateTime /Format:List `) do (
- set _%%a_=%%b
- )
- (
- endlocal
- set %1=%_LocalDateTime_:~0,4%-%_LocalDateTime_:~4,2%-%_LocalDateTime_:~6,2% %_LocalDateTime_:~8,2%:%_LocalDateTime_:~10,2%:%_LocalDateTime_:~12,2%
- )
- goto :eof
- :C_TimeDiff
- SETLOCAL ENABLEDELAYEDEXPANSION
- set _t0_=!%2!
- set _t1_=!%3!
- set _t0_=%_t0_: =0%
- set _t1_=%_t1_: =0%
- for /f "tokens=1-8 delims=:. " %%a in ( " %_t0_% %_t1_% " ) do (
- set/a "_t_=( 1%%e - 1%%a ) * 3600 + ( 1%%f - 1%%b ) * 60 + ( 1%%g - 1%%c )"
- )
- set/a _HH_=%_t_% / 3600
- set/a _mm_=(%_t_% %% 3600) / 60
- set/a _ss_=%_t_% %% 60
- (
- endlocal
- set %1=%_HH_%:%_mm_%:%_ss_%
- )
- goto :eof
复制代码 |
|