PHP: Nasıl bir randomDate ($ startDate, $ endDate) işlevini yapabilir?

0 Cevap php

i 32-bit tarihleri ​​(strtotime ile kabul edilebilir) ile gayet güzel çalışıyor bir işlevi yapmış, ama bu ölçeklenebilir değildir. i rastgele Doğum halkları tarihleri ​​oluşturmak gerekir, bu yüzden fonksiyonlar bunları oluşturmak için (hatta daha da zorlaştırmak için, sadece <= 5.2.13 ve) DateTime kullanmanız gerekir.

Burada i had budur:

public static function randomDate($start_date, $end_date, $format = DateTimeHelper::DATE_FORMAT_SQL_DATE)
{
    if($start_date instanceof DateTime)     $start_date = $start_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);
    if($end_date instanceof DateTime)       $end_date   = $end_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);

    // Convert timetamps to millis
    $min = strtotime($start_date);
    $max = strtotime($end_date);

    // Generate random number using above bounds
    $val = rand($min, $max);

    // Convert back to desired date format
    return date($format, $val);
}

şimdi, nasıl ben iki tarihsaat arasında rasgele bir tarih oluşturabilir?

teşekkürler!

0 Cevap