混淆添加2个时间值

时间:2011-04-19 14:52:51

标签: php mysql time

基本上这段时间的事情令我感到沮丧,我是编程新手,所以如果我问一个愚蠢的问题我会道歉。

我的MySQL时间()存储在我的数据库中。我想将此时间添加到当前时间以确定目标时间。

$ duration是06:00:00。 (MySQL时间)

$length = strtotime($duration);

    $timestart = time();

    $target = $length + time();

    // merely to check if im getting correct values.

    echo "</br>duration: ".date('G:i:s', $length)."<br/>";
    echo "current time:".date('G:i:s', $timestart)."<br/>";
    echo "target time:".date('G:i:s', $target)."<br/>";

目前我得到了这个(不是6小时):

持续时间:6:00:00
当前时间:15:51:44
目标时间:19:51:44

有人可以帮我解释一下。

非常感谢,

3 个答案:

答案 0 :(得分:5)

strtotime将其转换为unix时间戳。它不代表六个小时。它代表今天早上6点。你应该使用秒:

$duration = '06:00:00';
$duration_array = explode(':', $duration);

$length = ((int)$duration_array[0] * 3600) + ((int)$duration_array[1] * 60) + (int)$duration_array[2];
$target = $length + time();

答案 1 :(得分:1)

我对mySql不太熟悉,但也许你可以试试

$target = strtotime($length) + time();

答案 2 :(得分:1)

Strtotime正在那里传播一个日期,比如“今天下午6点”,而不是你想要的6个小时。最简单的方法是运行

time() + (6 * 3600);

其中6是小时,3600是每小时的秒数。