2015-09-25 3 views
0

Мне нужно получить случайное время с сегодняшнего дня. Я попытался использовать этоПолучите случайное время, используя сегодняшнюю дату

$today = date('YmdHi'); 
$startDate = date('YmdHi', strtotime('-0.5 days')); 
$range = $today - $startDate; 
$rand = rand(0, $range); 
$smthing=$startDate + $rand; 

return $smthing; 

Но он работает неправильно.

Например, я хочу создать сегодняшнюю дату и все, что от нее.

Ожидаемый результат

2015: 25: 09 14:10:20

2015: 25: 09 08:12:26

2015: 25: 09 1:02 : 24

+3

Почему вы не можете использовать только 'time()'. Ведь все время меняется! : D – jitendrapurohit

+0

@JitendraPurohit Ницца! chuckle chuckle – RiggsFolly

+0

это может помочь [ссылка] (http://stackoverflow.com/questions/1972712/generate-random-date-between-two-dates-using-php) –

ответ

3

использование

$date=date('Y:m:d'); 
$sttime=strtotime($date.' '.'00:00:01'); 
$entime=strtotime($date.' '.'23:59:59'); 
$rand=rand($sttime,$entime); 
echo $rand_time=date('Y:m:d H:i:s',$rand); 

В соответствии с вашим вопросом он будет генерировать временные интервалы между текущим днем ​​

+0

работает отлично !!! –

+3

рассмотрите использование mt_rand вместо rand(); http://php.net/manual/en/function.mt-rand.php это немного более случайный и быстрый. – gries

+0

Спасибо! Также я ставлю $ date = date ('Y: m: d'); вместо 23:59:59. Теперь я получаю случайное время между 00:00:00 и текущим временем :) Спасибо еще раз! – LoverBugs

Смежные вопросы