1

特定の日付範囲に基づいて、ランダムな日付と時刻の値を取得したいと考えています。

例: 開始日: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 分になるように、コードを機能させるにはどうすればよいですか?

4

1 に答える 1