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
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'));
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.
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.