PHP增加时间

时间:2012-08-15 02:36:20

标签: php time add

我有一个代码,我有2个texboxes和一个按钮,根据输入添加这些文本框的时间值。

这是我的简单代码:

<?php 

echo "<form method=post><input type=text name=etd>";
echo "<input type=text name=btime>";
echo "<input type=submit name=sub value=submit></form>";
if(isset($_POST['sub']))
{

        $etime = $_POST['etd'];
        $btym = $_POST['btime'];
        $time = strtotime("$etime");
        $tym = strtotime("btym");
        $etym = strtotime("+$btym hours", $time);
        $eta = date('H:i:s', $etym);

echo "$eta";
}
?>

然而,当我输入12:00和00:30(意味着我想要将30分钟添加到12:00)时,它输出11:30,这应该是12:30。我究竟做错了什么?提前致谢。

3 个答案:

答案 0 :(得分:2)

不应该这样:

$tym = strtotime("btym");

是这样的:

$tym = strtotime("$btym");

答案 1 :(得分:1)

这应该有效。但是,如果您想使用30分钟,则btime的值应为0.5,而不是0:30(因为strtotime()来电中的引用为小时)。< / p>

正如评论者建议的那样,所有属性都应该用引号括起来。

<?php 

echo '<form method=post><input type="text" name="etd">';
echo '<input type="text" name="btime">';
echo '<input type="submit" name="sub" value="submit"></form>';
if(isset($_POST['sub']))
{
    $eta = date('H:i:s', strtotime( $_POST['etd'] . ' +' . $_POST['btime'] . ' hours' ) );
    echo "$eta";
}
?>

答案 2 :(得分:0)

感谢您的回复! :)))这是我的第一篇文章,我很高兴你们回答了! :)))通过使用mysql addtime()和timediff()函数使其工作。它很容易,我没有把头撞在桌子上。无论如何,谢谢回复!从现在开始,我会在你的手上,因为我认为我会发布很多问题。 ^ _ ^