2016-06-17 2 views
1

Мне нужно выбрать случайную дату между двумя датами. Одна дата является случайной, а другая установлена. У меня также есть дата начала, на которой основана случайная дата. Если это звучит странно, мой код, надеюсь прояснить, что я пытаюсь сделать:Как выбрать случайную дату и время между установленной датой и случайной датой с помощью php?

$postedtweettime = "2016-06-17 00:00:00"; 

$newtimehour = rand(0, 24); 
$newtimemin = rand(0, 60); 

$timestart = date('Y-m-d G:i:s', strtotime($postedtweettime. " + 7 days " . $newtimehour . " hours " . $newtimemin . " minutes")); 
$timeend = date('Y-m-d G:i:s', strtotime($postedtweettime. ' + 21 days 0 hours 0 minutes')); 

$newtime = rand($timestart, $timeend); 

$newtimeformat = date('Y-m-d G:i:s', $newtime); 

Все работает, кроме получения даты $ newtimeformat. Прямо сейчас, возвращается только значение 1969-12-31 18:33:36

+0

RTFM: HTTP: // PHP .net/rand http://php.net/date 'date()' возвращает STRING, а 'rand()' ожидает INTEGERS –

ответ

1

Вам нужно преобразовать даты обратно в метку времени первого:

$newtime = rand(strtotime($timestart), strtotime($timeend));

+0

, даже не это. преобразование обратно в ints бесполезно, потому что они уже strtotime'd ANYWAYS. есть нулевая точка в int-> string-> int –

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