PDA

Показать полную графическую версию : [решено] Сложить время . Прибавить полминуты к текущему


csp
25-05-2015, 11:30
Создаю задачу, получаю текущее время. погуглил как делаются сложения, например


set /a a=1
set /a b=2
set /a c=a+b
echo %c%

но если подставить set /a a=%time% то уже не работает. Подскажите как прибавить 00:00:30 секунд к текущему времени

т.е set test=%time% потом прибавить 30 секунд чтобы %test% отличался от %time%

greg zakharov
25-05-2015, 12:08
@powershell /nologo /noprofile /command "&{[DateTime]::Now.AddSeconds(30).ToString('HH:mm:ss')}"

Iska
25-05-2015, 13:43
Подскажите как прибавить 00:00:30 секунд к текущему времени »
Чисто на пакетных файлах — очень нудно.

greg zakharov
25-05-2015, 14:52
Чисто на пакетных файлах — очень нудно.
А что трудного в том, чтобы конвертировать время в секунды, прибавить к ним тридцать, а после выполнить обратное преобразование? Если сходу, то это должно выглядеть как-то так:@echo off
setlocal
set "now=%time:~0,8%"
set /a "sec=%now:~0,2% * 3600"
set /a "sec+=%now:~3,2% * 60"
set /a "sec+=%now:~6,2%+30"

set /a "hh=sec/3600", "mm=(sec-hh*3600)/60", "ss=sec-hh*3600-mm*60"
if %hh% lss 10 set "hh=0%hh%"
if %mm% lss 10 set "mm=0%mm%"
if %ss% lss 10 set "ss=0%ss%"
echo %hh%:%mm%:%ss%
endlocal
exit /b

gora
25-05-2015, 15:04
как прибавить 00:00:30 секунд к текущему времени »
@Echo Off
For /f "delims=+-" %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set DT=%%i

Set /a tmsec= 3600 * (1%DT:~8,2%-100) + 60 * (1%DT:~10,2%-100) + 1%DT:~12,2%-100
Echo %DT:~8,2%.%DT:~10,2%.%DT:~12,2%
:: Добавляем 30 с
Set /a tmsec= tmsec + 30
Set /a h = tmsec / 3600 %% 24, m = tmsec %% 3600 / 60, s = tmsec %% 3600 %% 60
Set h=0%h%& Set m=0%m%& Set s=0%s%
Set h=%h:~-2%& Set m=%m:~-2%& Set s=%s:~-2%
Echo %h%.%m%.%s%
Pause




© OSzone.net 2001-2012