-1

我有一个代码,我有 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(意味着我想在 12:00 上增加 30 分钟)时,它输出 11:30,应该是 12:30。我究竟做错了什么?提前致谢。

4

3 回答 3

2

这不应该:

$tym = strtotime("btym");

变成这样:

$tym = strtotime("$btym");

?

于 2012-08-15T02:40:49.467 回答
1

这应该有效。虽然,如果你想使用 30 分钟,你的值btime应该是0.5,而不是0:30(因为你的strtotime()电话中的参考是小时)。

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

<?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";
}
?>
于 2012-08-15T02:46:42.053 回答
0

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

于 2012-08-16T01:58:39.087 回答