Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Aid7en
0 / 0 / 1
Регистрация: 25.07.2016
Сообщений: 14
1

Как учесть возможность изменения даты при добавлении N минут к текущему времени?

25.12.2016, 14:52. Просмотров 840. Ответов 3
Метки нет (Все метки)

Задался целью написать БАТ файл, который будет переводить часы на 15 минут вперед. Беда в том, что абсолютно не понимаю как писать на БАТ, пара часов в интернете помогли понять как получить в работу часы и минуты, и изменить их.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
SetLocal EnableExtensions
 
For /F "tokens=1,2 delims=:" %%a in ('time /T') do set HH=%%a& set MM=%%b
set /a MM+=15
if %MM% GEQ 60 (
set /a MM-=60 
set /a HH+=1
)
if %HH%==24 set HH=0
time %HH%:%MM%
Беда этого кода в том, что он не переводит на следующий день время.
Моя идея в том, чтобы объявить количество дней в каждом месяце текущего года (например какой нибудь массив(31,29,31,30,31,30,31,31,30,31,30,31) и добавить условия вместо "if %HH%==24 set HH=0" что-то такое:

if %HH%==24(
set HH=0
Дата +1)
Если дата больше массив(текущий месяц) то (
дата = 1
месяц +=1)
установить дату
time %HH%:%MM%

Честно, знаю немного только VB.Net , c BAT вообще не знаком, даже не понимаю как помимо часов и минут взять в работу время.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2016, 14:52
Ответы с готовыми решениями:

Копирование файла каждые 30 минут с добавлением к имени копии даты и времени копирования
Добрый день дорогие гуру. Задача стоит не легкая и не простоя(для меня)....

Есть ли возможность подключить к текущему батнику еще один?
Я имею ввиду есть ли в CMD аналог include? То есть если допустим часть кода...

Прибавить 1 час к текущему времени
Тоже озаботился проблемой, надо в CMD файле к текущему времени прибавить 1 час....

Необходимо к текущему времени прибавить n часов и m минут
в программе необходимо к текущему времени автоматически прибавить n часов и m...

Как вставить макрос изменения даты и времени изменения поля?
Я не русский, я юрист. В моей базе на МС Акксесс 2016 я делаю базу цитат из...

3
greg zakharov
Покинул форум
2070 / 845 / 245
Регистрация: 07.05.2015
Сообщений: 1,686
25.12.2016, 18:19 2
Лучший ответ Сообщение было отмечено Aid7en как решение

Решение

Цитата Сообщение от Aid7en
переводить часы на 15 минут вперед
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
  setlocal
    call:dateshift 15 date time
    date %date%
    time %time%
  endlocal
exit /b
 
:dateshift
  set "s=mshta vbscript:Execute("CreateObject("
  set "s=%s%""Scripting.FileSystemObject"")"
  set "s=%s%.GetStandardStream(1).Write("
  set "s=%s%DateAdd(""n"", %1, Now)"
  set ^"e=):Close"^)"
  for /f "tokens=1,2" %%i in ('%s%%e%') do (
    set "%2=%%i"&set "%3=%%j"
  )
exit /b
1
alpap
1577 / 1231 / 401
Регистрация: 26.04.2015
Сообщений: 4,328
25.12.2016, 19:14 3
Aid7en,
Вот код на cmd от Dragokas, позволяет задать время за счет уменьшения или увеличения кол-ва минут:
Windows Batch file
1
2
3
4
5
@echo off
set dt=15
for /f "tokens=1-2 delims=:" %%a in ("%time: =0%") do set/a "t=(1%%a-100)*60+(1%%b-100)+(dt%%1440)","t+=(t>>31)&1440","hh=(t/60%%24)+100","mm=(t%%60)+100"
echo %hh:~-2%:%mm:~-2%
pause>nul
0
YuS_2
Любознательный
856 / 566 / 181
Регистрация: 10.03.2016
Сообщений: 1,293
25.12.2016, 22:01 4
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
:check_Permissions
echo Administrative permissions required. Detecting permissions...
sfc 2>&1 | find /i "scannow" >nul
if %errorLevel%==0 (
    echo Successfully.&goto settime
) else (
    echo Failure: Current permissions inadequate. Run as Administrator.
)
pause&exit
:settime
echo Current time: %time%
set N=15
powershell -nologo "&{new-timespan -minutes %N%|%%{set-date -adjust $_} >null}"
echo New time    : %time%
pause
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2016, 22:01

Ошибка преобразования даты или времени из символьной строки при добавлении записей в БД
Здравствуйте! Столкнулся с казалось бы простой проблемой, но вот уже несколько...

Как при выводе даты обрезать вывод минут?
при выборке с минутами выводится - как минуты отрезать? мне только дату надо

JTable как уловить изменения только в существующих ячейках, а не при добавлении нового ряда
Здравствуйте! Мне нужно создать таблицу, в которую можно добавлять новые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru