За последние 24 часа нас посетили 50349 программистов и 1688 роботов. Сейчас ищут 1024 программиста ...

Работа со временем

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

Метки:
  1. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    Вызываем функцию time() в потоке и результат , то есть числа посекундно помещаем в массив.
    Возможно ли ?
     
  2. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Можно расшифровать? Не очень понятно что требуется.
     
  3. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    Текущее время в массив но постоянно
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    с каким промежутком?
     
  5. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    PHP:
    1. $times = [];
    2. while(true){
    3. $times[] = time();
    4. sleep(1); // usleep(1000);
    5. }
     
  6. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    С любым
    --- Добавлено ---
    Сам тестировал? даже http://phptester.net/ не отвечает
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не отвечает, но делает то, что просил.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Надо ещё на экран что-то выводить? Просто сразу опиши всю задачу, а не по кускам, чтобы не приходилось переписывать код каждый раз по новому.
     
  9. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    Идея не новая, но отзывы на страницах плохие, все предлагают крон . Ну хочу выводить в echo какой то текст но через 10 минут потом через 7 минут и т д. Смысл в моем вопросе в том что может возможно занести в массив все текущие unix даты и проверить когда пройдут 10 минут , то есть когда дойдёт до тех unix цифр.
    P S Нет кронов у меня , пробую GUI
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Что за GUI?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Все равно не понятно
     
  12. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    Develnext http://j-php.net/
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Проще на C# делать GUI приложения.
     
  14. shalx shalx

    shalx shalx Активный пользователь

    С нами с:
    13 май 2016
    Сообщения:
    38
    Симпатии:
    0
    не , это php и css
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  16. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Вот тебе код, может что надо а может надо будет переделать.
    PHP:
    1.  
    2. if (isset($_POST['start'])) {
    3.     $_SESSION['start'] = 'true';
    4. }
    5.  
    6. if (isset($_SESSION['start'])) {
    7.     $start = $_SESSION['start'];
    8. }
    9. if ($start) {
    10.  
    11.     $startTime = new DateTime(); //текущее время
    12.     //добавим интервал
    13.     $startTime->add(new DateInterval('PT1M'));
    14.     //сохраним дату начала
    15.     $_SESSION['endTime'] = $startTime->getTimestamp();
    16.     /*
    17.      * удалим сессионную переменную start чтобы исключить
    18.      * повторное выполнение условия
    19.      */
    20.     unset($_SESSION['start']);
    21. }
    22.  
    23. /*
    24. * Проверяем существует ли сессияонная переменная endTime
    25. */
    26. if (!empty($_SESSION['endTime'])) {
    27.     $curentTime = new DateTime();
    28.     $startTime = $_SESSION['endTime']; //получаем timestamp из сессии
    29.     //Получим массив с временем которое осталось до начала события
    30.     $time = getdate($startTime - $curentTime->getTimestamp());
    31.  
    32.     if ($curentTime->getTimestamp() >= $startTime) {
    33.         unset($_SESSION['endTime']);
    34.         session_destroy();
    35.  
    36.         echo "<audio src='http://best-muzon.com/dl/ERVMHOlaBP8394mdPjn3gQ/1463711330/songs12/2016/03/snap-the-power-(best-muzon.com).mp3' autoplay='autoplay'></audio>";
    37.     } else {
    38.         header("Refresh:1");
    39.         echo "<h1 style='text-align: center;'>Осталось: " . $time['hours'] . ':' . $time['minutes'] . ':' . $time['seconds'].'</h1>';
    40.     }
    41. }
    42. ?>
    43. <form action="" method="POST">
    44.     <input name="start" start type="submit" value="Запустить таймер">
    45. </form>
    --- Добавлено ---
    Интервал задал одну минуту, можешь задать другой при желании.
     
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    разве PHP машина не останавливает скрипт, если он длится дольше определенного времени??
    --- Добавлено ---
    если я всё правильно понял (а это не просто, в силу не внятных объяснений и желания леч спать ^_^), ИМХО эту задачу нужно решать через JQuery и Ajax.
     
  18. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    там нету sleep() :). Почитай что ему требуется поймешь про какой интервал идет речь.
    Вообще, да. Что -то на php что-то на Js. Как я писал выше, может что надо а может переделать. Варианты есть)

    Я хотел показать как можно работать со временем в php, если что-то не правильно, или что-то можно тут улучшить буду рад новым знаниям).
     
  19. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    вряд ли я могу быть источником новых знаний для тебя так как обладаю весьма скромной практикой.

    а вообще задумка простая. если нужно повесить событие на какую то кнопку - сделать это. Если нужно что то сделать по истечению какого то времени сделать setTimeout(); нужна серверная работа - сделать ajax запрос. Но никак не должен сервер потеть над скриптами для каждого пользователя дольше чем одно мгновение... Короче на клиент повесить максимум работы :)
    --- Добавлено ---
    что-то мне подсказывает что я что-то не правильно понимаю :)
     
  20. mahmuzar

    mahmuzar Старожил

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

    Я не стал бы доверять таймеру на js.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не стал бы доверять таймеру каменты подгружать?
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @igordata я думаю @mahmuzar говорит про таймер как про замеры времени, хронометраж. А комменты чего не подгрузить? Тебе ж не нужна точность до секунды в этом нелёгком деле.
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну чел сказал, что ему надо выводить текст раз в несколько минут. Вроде норм решение для js.
     
  24. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    я как-то по другому понял его.
    Увидел что он упоминает даты php и хочет знать как с ними работать + было упоминание про cron(т.е. подумал что чел хочет решение на php).
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Четкой формулировки нет. Я понял, что нужно в браузере что-то показывать через время.