0

我的 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;
4

4 回答 4

1

strtotime()多次调用有点矫枉过正。带有DateTime 扩展的代码是一个更快的示例(并且更漂亮),例如这个演示

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.
于 2013-11-05T10:21:14.180 回答
1

正如马克贝克所说(他应该得到答案),一个正确的解决方案是将计算替换为:

strtotime("+15 minutes",strtotime($tim)));
于 2013-11-05T09:30:14.917 回答
0

尝试这个

$date = date('H:i:s', strtotime("+15 minutes", strtotime($tim)));

http://php.net/manual/en/function.strtotime.php

于 2013-11-05T09:27:51.343 回答
-1
$tim=$values['mor_start'];
$date = date("H:i:s", strtotime("+15 minutes",strtotime($tim)));
echo $date;

这应该有效。

于 2013-11-05T09:29:01.870 回答