How do I generate a random time interval and add it to a mysql datetime using php?

前端 未结 3 2073
说谎
说谎 2021-01-03 09:11

I have many rows in mysql table with datetime\'s in the format of:

2008-12-08 04:16:51 etc

I\'d like to generate a random time interval of

相关标签:
3条回答
  • 2021-01-03 09:39

    easier way.

    $new_date = date('Y-m-d h:i:s', strtotime('2008-12-08 04:16:51 +'.rand(30, 60 * 60 * 24 * 3).' seconds'));
    
    0 讨论(0)
  • 2021-01-03 09:47

    Would you be able to use a random unix timestamp and convert into the MySQL timestamp format? I would assume you could so something like:

    $randomTime = time() + rand( 30, 86400 * 3 );   // since there are 86400 seconds in a day,
                                                            // this should generate a random time
                                                            // 3-30 days from now
    $randomTimeString = date( "Y-m-d H:i:s", $randomTime ); // format the date (php.net/date)
    $st = $mysqli->query( "...", $randomTimeString );       // insert it into the database
    ...
    

    This probably isn't the most efficient solution, but it should work.

    0 讨论(0)
  • 2021-01-03 09:57

    Using MySQL's rand() function:

    update [table] set [field] = now() + interval floor(rand()*(60*60*24*3)) second;
    

    wil get you the current datetime + between 0 seconds and three days.

    0 讨论(0)
提交回复
热议问题