特定の日付範囲に基づいて、ランダムな日付と時刻の値を取得したいと考えています。
例: 開始日:2015-04-29 08:00:00
と終了日: 2015-04-29 20:00:00
. ここで、15 個のランダムな日付と時刻の値を取得したいと考えています。また、最小 1 分の間隔にする必要があります。
次のコードを試しました:
rand_date($min_date, $max_date,$total_number);
function rand_date($min_date, $max_date,$total_number)
{
$min_epoch = strtotime($min_date);
$max_epoch = strtotime($max_date);
for($i=0;$i<=$total_number;$i++)
{
$rand_epoch = rand($min_epoch, $max_epoch);
echo "in::".date('Y-m-d H:i:s', $rand_epoch)."\n\n";
}
}
現在の出力:
in::2015-04-29 17:41:13 //<-
in::2015-04-29 17:41:15 //<-
in::2015-04-29 15:38:39
in::2015-04-29 17:41:50 //<-
in::2015-04-29 17:45:21
in::2015-04-29 11:50:57
in::2015-04-29 19:34:12
in::2015-04-29 14:05:55
in::2015-04-29 11:25:36
in::2015-04-29 15:46:53
in::2015-04-29 14:55:44
in::2015-04-29 19:53:30
in::2015-04-29 18:28:03
in::2015-04-29 08:52:13
in::2015-04-29 17:59:42
上記の結果からわかるように、秒単位の距離しかないいくつかのエントリを強調表示しましたが、実際には、すべての日付と時刻の値で最低でも 1 分の距離が必要です。
各 dateTimes 間に最小間隔が 1 分になるように、コードを機能させるにはどうすればよいですか?