我需要生成一个时间格式:[ 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));
但这会产生像 4
或 6
这样的时间,我需要 04
和 06
所以:
$rand = rand(0,2) . rand(1,4) ;
$datenew = date('Y-m-d '.$rand.':'.$rand.':s', strtotime($date));
但在我看来,这显然不够优雅。
我还需要 session 记录,所以我需要以某种方式格式化 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');
时间会根据您运行代码的时间而有所不同。
关于PHP 转换时间格式并添加随机时间变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15683739/