Как генерировать случайную дату между двумя датами с помощью php?

Я кодирую приложение, где я должен присвоить случайную дату между двумя фиксированными метками времени

как я могу достигнуть этого использования php, я искал сначала, но только нашел ответ для Java не php

например:

$string = randomdate(1262055681,1262055681);
53
задан Rishabh 17 November 2016 в 04:02
поделиться

3 ответа

Вот еще один пример:

$datestart = strtotime('2009-12-10');//you can change it to your timestamp;
$dateend = strtotime('2009-12-31');//you can change it to your timestamp;

$daystep = 86400;

$datebetween = abs(($dateend - $datestart) / $daystep);

$randomday = rand(0, $datebetween);

echo "\$randomday: $randomday\n";

echo date("Y-m-d", $datestart + ($randomday * $daystep)) . "\n";
8
ответ дан 7 November 2019 в 08:16
поделиться

Для определения случайной даты можно просто использовать случайное число. Получить случайное число от 0 до количества дней между датами. Затем просто прибавим это число к первой дате.

Например, чтобы получить дату случайным числом от 30 дней до 30 дней.

echo date('Y-m-d', strtotime( '+'.mt_rand(0,30).' days'));
26
ответ дан 7 November 2019 в 08:16
поделиться

PHP имеет функцию rand():

$int= rand(1262055681,1262055681);

Она также имеет mt_rand(), которая, как правило, подразумевает лучшую случайность в результатах:

$int= mt_rand(1262055681,1262055681);

Чтобы превратить метку времени в строку, можно использовать date(), т.е.:

$string = date("Y-m-d H:i:s",$int);
88
ответ дан 7 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: