无忧启动论坛
标题:
如何去掉时间中10位的0?
[打印本页]
作者:
807979023
时间:
2021-7-26 19:15
标题:
如何去掉时间中10位的0?
本帖最后由 807979023 于 2021-7-27 14:06 编辑
批处理之家netbenton大师作品,可计算时分秒0.01秒,跨天正确,可pe中运行。
如何把 02:09:04:51 改成 2时9分4.51秒 ?00:00:01:25 改成 1.25秒 ?
另外计算上午时间,提示运算符不存在,实际计算又是正确的。
@echo off&color 1f&echo.
set tt1=%time%
pause
set tt2=%time%
call :etime "%tt1%" "%tt2%" tt3
echo.
echo 开始时间: %tt1%
echo 结束时间: %tt2%
echo 共计时间: %tt3%
echo **************************************************
echo 以下试验,按任意键继续...
pause >nul
echo.
echo 试验 共计时间应为 2时9分4.51秒
set tt1=23:51:00.50
set tt2=2:00:05.01
call :etime "%tt1%" "%tt2%" tt3
echo.
echo 开始时间: %tt1%
echo 结束时间: %tt2%
echo 共计时间: %tt3%
echo.&echo 按任意键退出...&pause >nul&exit
:etime <begin_time> <end_time> [return]
setlocal enabledelayedexpansion
set a=0%~1
set b=0%~2
set c=24:60:60:00
set z=1&set e=
for /l %%a in (2,3,11)do (
set/a v=2!b:~-%%a,2!-1!a:~-%%a,2!-1+z,k=!c:~-%%a,2!,j=k+v
set z=!v:~-3,-2!
set/a j=j-z*k
set e=:!j:~-2!!e!
)
endlocal&(if %3.==. (echo %e:~1%) else set %3=%e:~1%)&goto :EOF
复制代码
作者:
邪恶海盗
时间:
2021-7-26 20:03
00:00:01:25跟1.25秒不是一回事吧???
作者:
807979023
时间:
2021-7-26 20:49
邪恶海盗 发表于 2021-7-26 20:03
00:00:01:25跟1.25秒不是一回事吧???
不好看。
作者:
chenfine
时间:
2021-7-26 23:28
学习学习
作者:
chenfine
时间:
2021-7-26 23:29
学习学习
作者:
qq叔
时间:
2021-7-27 07:13
早上好!来学习了
作者:
青青草
时间:
2021-7-27 11:26
参考:
http://wuyou.net/forum.php?mod=v ... &extra=page%3D1
作者:
807979023
时间:
2021-7-27 14:05
已解决,改得不好
@echo off&color 1f&echo.
if "%time:~0,1%"==" " (set tt1=%time:~1%)else (set tt1=%time%)
pause
if "%time:~0,1%"==" " (set tt2=%time:~1%)else (set tt2=%time%)
call :time0 "%tt1%" "%tt2%" tt3
echo.
echo 开始时间: %tt1%
echo 结束时间: %tt2%
set s=%tt3:~0,2%
if "%s:~0,1%"=="0" set s=%s:~1,1%
set f=%tt3:~3,2%
if "%f:~0,1%"=="0" set f=%f:~1,1%
set m=%tt3:~6,2%
if "%m:~0,1%"=="0" set m=%m:~1,1%
set n=%tt3:~9,2%
set tt3=%s%时%f%分%m%.%n%秒
if "%s%"=="0" (
set tt3=%f%分%m%.%n%秒
if "%f%"=="0" set tt3=%m%.%n%秒
)
echo 共计时间: %tt3%
echo **************************************************
echo 按任意键继续...
pause >nul
echo.
echo 试验 共计时间应为 3时0分4.51秒
set tt1=23:00:00.50
set tt2=2:00:05.01
call :time0 "%tt1%" "%tt2%" tt3
echo.
echo 开始时间: %tt1%
echo 结束时间: %tt2%
set s=%tt3:~0,2%
if "%s:~0,1%"=="0" set s=%s:~1,1%
set f=%tt3:~3,2%
if "%f:~0,1%"=="0" set f=%f:~1,1%
set m=%tt3:~6,2%
if "%m:~0,1%"=="0" set m=%m:~1,1%
set n=%tt3:~9,2%
set tt3=%s%时%f%分%m%.%n%秒
if "%s%"=="0" (
set tt3=%f%分%m%.%n%秒
if "%f%"=="0" set tt3=%m%.%n%秒
)
echo 共计时间: %tt3%
echo.&echo 按任意键退出...&pause >nul&exit
:time0 <begin_time> <end_time> [return]
setlocal enabledelayedexpansion
set a=0%~1
set b=0%~2
set c=24:60:60:00
set z=1&set e=
for /l %%a in (2,3,11)do (
set/a v=2!b:~-%%a,2!-1!a:~-%%a,2!-1+z,k=!c:~-%%a,2!,j=k+v
set z=!v:~-3,-2!
set/a j=j-z*k
set e=:!j:~-2!!e!
)
endlocal&(if %3.==. (echo %e:~1%) else set %3=%e:~1%)&goto :EOF
复制代码
作者:
171222287
时间:
2021-8-8 12:01
谢谢分享!
作者:
807979023
时间:
2021-8-8 22:08
171222287 发表于 2021-8-8 12:01
谢谢分享!
8楼要加1句 if "%n:~1,1%"=="" set n=0%n%
@echo off&color 1f
if "%time:~0,1%"==" " (set tt1=%time:~1%)else (set tt1=%time%)
pause >nul
if "%time:~0,1%"==" " (set tt2=%time:~1%)else (set tt2=%time%)
call :etime "%tt1%" "%tt2%" tt3
call :tt3
echo 开始时间: %tt1%
echo 结束时间: %tt2%
echo 共计时间: %tt3%
echo.
echo 按任意键退出...&pause >nul&exit
:etime <begin_time> <end_time> [return]
setlocal enabledelayedexpansion
set a=0%~1
set b=0%~2
set c=24:60:60:00
set z=1&set e=
for /l %%a in (2,3,11)do (
set/a v=2!b:~-%%a,2!-1!a:~-%%a,2!-1+z,k=!c:~-%%a,2!,j=k+v
set z=!v:~-3,-2!
set/a j=j-z*k
set e=:!j:~-2!!e!
)
endlocal&(if %3.==. (echo %e:~1%) else set %3=%e:~1%)&goto :EOF
:tt3
set s=%tt3:~0,2%
if "%s:~0,1%"=="0" set s=%s:~1,1%
set f=%tt3:~3,2%
if "%f:~0,1%"=="0" set f=%f:~1,1%
set m=%tt3:~6,2%
if "%m:~0,1%"=="0" set m=%m:~1,1%
set n=%tt3:~9,2%
if "%n:~1,1%"=="" set n=0%n%
set tt3=%s%时%f%分%m%.%n%秒
if "%s%"=="0" (
set tt3=%f%分%m%.%n%秒
if "%f%"=="0" set tt3=%m%.%n%秒
)
goto :EOF
复制代码
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3