случайное время

Тема в разделе "PHP", создана пользователем lena berkova, 28 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. lena berkova

    lena berkova

    Регистр.:
    14 янв 2009
    Сообщения:
    441
    Симпатии:
    19
    как сделать в дате случайное время часы и минуты?
    счас делаю так
    date("Y-m-d H:i", time()+((60*60)*24)+60*60);
    но все равно берется текущее время
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    183
    Симпатии:
    76
    А что такое time()+((60*60)*24)+60*60)? Где тут случайность?
    Тогда уж date("Y-m-d H:i", time()+rand(3600, 86400)). Задача озвучена неполностью, поэтому пусть будет так.
     
    lena berkova нравится это.
  3. sorcer

    sorcer Создатель

    Регистр.:
    21 фев 2009
    Сообщения:
    35
    Симпатии:
    4
    PHP:
    echo date('Y-m-d') . ' ' rand(023) . ':' .rand(059) . ':' rand(059);
     
    Qweritos и lena berkova нравится это.
  4. Shurikus84

    Shurikus84 Создатель

    Регистр.:
    21 апр 2009
    Сообщения:
    11
    Симпатии:
    0
    Если в текущей дате случайное время добавить то можно ещё так:

    $today = strtotime(date("Y-m-d"));
    $result = date("Y-m-d H:i", $today + mt_rand(0, 86399);
     
  5. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    А можно воспользоватся функцией mktime
    Засунув в нее необходимые куски из текущий даты и рандом там где нужно случайное число.
     
  6. stan-3d

    stan-3d Создатель

    Регистр.:
    19 мар 2009
    Сообщения:
    12
    Симпатии:
    0
    $today = strtotime(date("Y-m-d"));
    $result = date("Y-m-d H:i", $today + mt_rand(0, 86399);
    я так делал
     
  7. Softrix

    Softrix Постоялец

    Регистр.:
    9 июл 2008
    Сообщения:
    65
    Симпатии:
    4
    Вот простой способ использовать новый Data class

    PHP:
    function make_date($m)
    {
    $nw date("Y-m-d");
    $date = new DateTime($nw); 
    $date->modify("-$m month"); 
    $c rand(1000,5184000);
    $date->modify("+$c secunds"); 
    return 
    $date->format("r"); 
    }

    Функция генерит случайную дату и время за минус указанное количество месяцев от сегодняшней даты.
     
  8. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    а сам класс DateTime со всеми его свойствами и методами надо самому додумывать? :D
     
    Xe-Xe нравится это.
  9. FL@SH

    FL@SH Читатель

    Заблокирован
    Регистр.:
    20 июл 2008
    Сообщения:
    193
    Симпатии:
    25
    Зачем делать из мухи слона? Класы приписывать....
    PHP:
    <?php
    $time_rand 
    "8600"// время колебания в секундах
    echo date("Y-m-d"time() + rand(0$time_rand)); 
    ?>
    И никаких телодвижений
     
  10. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Откуда взялось число 8600? в сутках 86400 секунд. Из поста ТС следует что текущая дата не меняется, меняется только время.

    Если надо просто вывести дату со случайным временем:
    PHP:
    $date date("d.m.Y",time());
    $time date("H:i",mt_rand(0,86400));
    echo 
    $date." ".$time;
    Если надо сгенерировать дату со случайным временем:
    PHP:
    $new_date date("d.m.Y H:i",floor(time()/86400)*86400-10800+mt_rand(0,86400));
    echo 
    $new_date;
     
Статус темы:
Закрыта.