2

我需要生成一个时间格式:[ Y-m-d H:i:s ]从看起来像的字符串7/03/2013(是的,可以是 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我需要04的时间06等等:

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

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

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

但结合起来也会创造不切实际的时代,比如24:26:00

那么我怎样才能花时间使用 format 7/03/2013,转换为H:i:s并添加随机的小时,分​​钟(也许是秒)

4

3 回答 3

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

看到它在行动

时间将根据您运行代码的时间而有所不同。

于 2013-03-28T13:58:02.137 回答
4

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

date('Y-m-d ' . sprintf('%02d:%02d:00', mt_rand(0, 23), mt_rand(0, 59)));
于 2013-03-28T13:57:45.550 回答
1

这将为 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));
于 2013-03-28T14:03:35.980 回答