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

Статус
В этой теме нельзя размещать новые ответы.

lena berkova

Местный житель
Регистрация
14 Янв 2009
Сообщения
437
Реакции
21
как сделать в дате случайное время часы и минуты?
счас делаю так
date("Y-m-d H:i", time()+((60*60)*24)+60*60);
но все равно берется текущее время
 
А что такое time()+((60*60)*24)+60*60)? Где тут случайность?
Тогда уж date("Y-m-d H:i", time()+rand(3600, 86400)). Задача озвучена неполностью, поэтому пусть будет так.
 
как сделать в дате случайное время часы и минуты?
счас делаю так
date("Y-m-d H:i", time()+((60*60)*24)+60*60);
но все равно берется текущее время

Если в текущей дате случайное время добавить то можно ещё так:

$today = strtotime(date("Y-m-d"));
$result = date("Y-m-d H:i", $today + mt_rand(0, 86399);
 
А можно воспользоватся функцией
Засунув в нее необходимые куски из текущий даты и рандом там где нужно случайное число.
 
$today = strtotime(date("Y-m-d"));
$result = date("Y-m-d H:i", $today + mt_rand(0, 86399);
я так делал
 
Вот простой способ использовать новый 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"); 
}
Функция генерит случайную дату и время за минус указанное количество месяцев от сегодняшней даты.
 
Вот простой способ использовать новый 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"); 
}
Функция генерит случайную дату и время за минус указанное количество месяцев от сегодняшней даты.

а сам класс DateTime со всеми его свойствами и методами надо самому додумывать? :D
 
  • Заблокирован
  • #9
Зачем делать из мухи слона? Класы приписывать....
PHP:
<?php
$time_rand = "8600"; // время колебания в секундах
echo date("Y-m-d", time() + rand(0, $time_rand)); 
?>
И никаких телодвижений
 
Зачем делать из мухи слона? Класы приписывать....
PHP:
<?php
$time_rand = "8600"; // время колебания в секундах
echo date("Y-m-d", time() + rand(0, $time_rand)); 
?>
И никаких телодвижений
Откуда взялось число 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;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху