Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Работа со временем

Страниц (1): [1]
 

1. KevinS - 02 Ноября, 2021 - 14:45:53 - перейти к сообщению
Здравствуйте. Нужно после остановки бота узнать сколько "дней, часов, минут, секунд" он отработал с момента запуска бота. Также хотелось бы понять как к времени работы прошлой сессии добавить время работы текущей сессии (допустим прошлый раз бот отработал: "0 дней, 16 часов, 34 минуты, 20 секунд), а в текущей сессии отработал: "1 день, 14 часов, 55 минут, 43 секунды", нужно сложить время отработанное в прошлой и текущей сессиях).
2. Zireael - 02 Ноября, 2021 - 18:17:19 - перейти к сообщению
 Цитата:
как к времени работы прошлой сессии добавить время работы текущей сессии

Перевести время в секунды и сложить.
Чтобы узнать сколько времени работает скрипт:
CODE:
int t1= gettime(); // запомнить время
// тут какой-то скрипт
pause(1000);
pause(1000);
pause(1000);
//////
int t2 = (gettime() - t1)/1000; // получить сколько секунд отработал скрипт
messagebox("Время работы скрипта в секундах: "+format(t2));
3. KevinS - 03 Ноября, 2021 - 01:22:27 - перейти к сообщению
 Zireael пишет:
 Цитата:
как к времени работы прошлой сессии добавить время работы текущей сессии

Перевести время в секунды и сложить.
Чтобы узнать сколько времени работает скрипт:
CODE:
int t1= gettime(); // запомнить время
// тут какой-то скрипт
pause(1000);
pause(1000);
pause(1000);
//////
int t2 = (gettime() - t1)/1000; // получить сколько секунд отработал скрипт
messagebox("Время работы скрипта в секундах: "+format(t2));


Радость Спасиииииииибо!)
(Добавление)
Может кому-нибудь пригодится

CODE:
external(INT, "wsprintf", "wsprintfA", "User32.dll" );
int t1= gettime(); // запомнить время
// тут какой-то скрипт
pause(1000);
pause(1000);
pause(1000);
//////
int t2 = (gettime() - t1)/1000; // получить сколько секунд отработал скрипт
messagebox("Время работы скрипта в секундах: "+format(t2));

messagebox(toNormalTime(t2)); // получить сколько отработал скрипт в формате 00:00:00

function toNormalTime(int dsec)
{
char c[1024];
double dSec = dsec;
int iHour=dSec/3600,
iMin=dSec/60-iHour*60,
iSec=dSec-iHour*3600-iMin*60;

wsprintf(address(#c[0]), "%02d:%02d:%02d", iHour, iMin, iSec);
return format(#c[0]);
}

(Добавление)
взято:(для просмотра ссылки Вам необходимо авторизоваться) Радость

Powered by ExBB FM 1.0 Final