V!RTuE
17-02-2016, 12:01
нашел такой вот код:
@echo off
set timeS=%time%
pause&:: сюда вставить код
set timeE=%time%
set /a timeMS=100+1%time:~-2%-1%timeS:~-2%
set /a timeSS=60+1%time:~6,2%-1%timeS:~6,2%
set /a timeMM=60+1%time:~3,2%-1%timeS:~3,2%
set /a timeHH=24+1%time:~0,2%-1%timeS:~0,2%
if %timeMS% lss 100 (set /a timeSS-=1) else (set /a timeMS-=100)
if %timeSS% lss 60 (set /a timeMM-=1) else (set /a timeSS-=60)
if %timeMM% lss 60 (set /a timeHH-=1) else (set /a timeMM-=60)
if %timeHH% geq 24 (set /a timeHH-=24)
echo %timeS%
echo %timeE%
echo.%timeHH%:%timeMM%:%timeSS%,%timeMS%
pause
Но он работает не совсем верно. Если скрипт запущен в период с 10:00 до 23:59, то время показывает верно, а если с 00:00 до 09:59, то ровно на 1 час больше. Ну а если вообще запущен до 10 утра, а закончил работу после 10, то аж на 6 часов больше показывает. Как исправить? или есть более точные способы вычисления времени работы?
Надо именно показывать в формате чч:мм:сс
@echo off
set timeS=%time%
pause&:: сюда вставить код
set timeE=%time%
set /a timeMS=100+1%time:~-2%-1%timeS:~-2%
set /a timeSS=60+1%time:~6,2%-1%timeS:~6,2%
set /a timeMM=60+1%time:~3,2%-1%timeS:~3,2%
set /a timeHH=24+1%time:~0,2%-1%timeS:~0,2%
if %timeMS% lss 100 (set /a timeSS-=1) else (set /a timeMS-=100)
if %timeSS% lss 60 (set /a timeMM-=1) else (set /a timeSS-=60)
if %timeMM% lss 60 (set /a timeHH-=1) else (set /a timeMM-=60)
if %timeHH% geq 24 (set /a timeHH-=24)
echo %timeS%
echo %timeE%
echo.%timeHH%:%timeMM%:%timeSS%,%timeMS%
pause
Но он работает не совсем верно. Если скрипт запущен в период с 10:00 до 23:59, то время показывает верно, а если с 00:00 до 09:59, то ровно на 1 час больше. Ну а если вообще запущен до 10 утра, а закончил работу после 10, то аж на 6 часов больше показывает. Как исправить? или есть более точные способы вычисления времени работы?
Надо именно показывать в формате чч:мм:сс