我的mor_start中有值 10:00:00,它是 mysql 数据库中的时间类型,我希望它增加 15 分钟。
$tim=$values['mor_start'];
$date = date('H:i:s', strtotime($tim));
echo $date;
上面的代码显示 10:00:00
但是当我尝试通过以下代码增加时间时,出现错误: 注意:遇到格式不正确的数值
$tim=$values['mor_start'];
$date = date('H:i:s', strtotime("+15 minutes",$tim));
echo $date;
正如马克·贝克所说(他应该得到答案),一个正确的解决方案是用这个代替计算:
strtotime("+15 minutes",strtotime($tim)));
多次调用strtotime()
有点矫枉过正。带有 DateTime 扩展的代码是一个更快的示例(并且 ofc 更漂亮),如以下演示:
echo date_create('10:00:00')->modify('+15 minute')->format('H:i:s');
在您的本地主机上测试此演示并查看差异。我在1e6
循环上的结果是:
add15min_v1() has looped 1000000x times in 23.47sec.
add15min_v2() has looped 1000000x times in 6.81sec.
试试这个
$date = date('H:i:s', strtotime("+15 minutes", strtotime($tim)));
http://php.net/manual/en/function.strtotime.php
$tim=$values['mor_start'];
$date = date("H:i:s", strtotime("+15 minutes",strtotime($tim)));
echo $date;
这应该有效。