За последние 24 часа нас посетили 21277 программистов и 1686 роботов. Сейчас ищут 1228 программистов ...

На сайтe запустить таймер в секундах

Тема в разделе "PHP для новичков", создана пользователем Leonid, 1 май 2018.

  1. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    Как только я зашёл на сайт запустить таймер и после определенного действия остановить и передать значение в переменную. Как сделать? Помогите плиз.
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Вот тебе псевдокод:

    Зашел пользователь на сайт, ты сразу фиксируешь время, и сохраняешь timestamp в базе данных или в сессиях.
    В качестве примера я буду использовать сессии:
    PHP:
    1. $_SESSION['start_time'] = (new DateTime())->getTimestamp();
    Потом, при выполнении пользователем нужного тебе действия, еще раз фиксируешь время.
    PHP:
    1. $_SESSION['end_time'] = (new DateTime())->getTimestamp();
    Дальше получаешь разницу:
    PHP:
    1. $interval = (new DateTime())->setTimestamp($_SESSION['start_time'])->diff((new DateTime())->setTimeStamp($_SESSION['end_time']));
    2. var_dump($interval);
    В итоге ты получишь объект DateInterval. Можешь отфармотировать вывод соответствующей функцией, или же сразу получить нужные тебе данные (секунды, минуты, часы и.т.д.)

    Ссылки:
    http://secure.php.net/manual/ru/class.datetime.php
    http://secure.php.net/manual/ru/datetime.diff.php
    http://secure.php.net/manual/ru/class.dateinterval.php
    http://secure.php.net/manual/ru/dateinterval.format.php
     
    Leonid и igordata нравится это.
  3. Leonid

    Leonid Новичок

    С нами с:
    30 апр 2018
    Сообщения:
    15
    Симпатии:
    0
    Всё просто отлично. Спасибо большое. Но я похоже не такой умный как думал. У меня не получается вывести получившиеся секунды. Как то уж заморочено немног.