PHP转换时间格式并添加随机时间变量


PHP transforming time formats and adding random time vars

我需要从看起来像7/03/2013的字符串中生成一个时间格式:[ Y-m-d H:i:s ](是的,可以是7或07(。

我使用

$date = '7/03/2013';
$date = date('Y-m-d H:i:s', strtotime($date));

这很好用。那么问题出在哪里呢?

问题是我没有H:i:s部分,但我需要它才能插入数据库。

所以我只是试着随机选择:

$rand = rand(00,24); 
$datenew = date('Y-m-d '.$rand.':i:s', strtotime($date));

但这产生了像46这样的时间,其中我需要0406,所以:

$rand = rand(0,2) . rand(1,4) ;
$datenew = date('Y-m-d '.$rand.':'.$rand.':s', strtotime($date));

但在我看来,这显然不优雅。

我也需要会议记录,所以我需要以某种方式格式化rand(00,60)

但这种组合也会产生像24:26:00 这样不切实际的时代

那么,我如何利用格式7/03/2013的时间,转换为H:i:s并添加随机的小时、分钟(可能还有秒(

$dt = DateTime::createFromFormat('n/d/Y', '7/03/2013');
echo $dt->format('Y-m-d H:i:s');

看到它在行动

时间会因运行代码的时间而异。

您可以使用Y-m-d 00:00:00。或者,如果你需要它是随机的,你可以使用这样的东西:

date('Y-m-d ' . sprintf('%02d:%02d:00', mt_rand(0, 23), mt_rand(0, 59)));

这将为HH:ii:ss 生成一个随机数

$date = '7/03/2013';
$new_date  = date('Y-m-d', strtotime($date));
$new_date .= date(' H:i:s', mt_rand(0,1262055681));