如何在特定时间添加例如30或60分钟

时间:2019-03-08 10:56:38

标签: php mysql

我有一个输入,您可以选择00:00-24:00之间的时间(显示在“ utleid”中)和2个单选按钮,您可以选择30分钟或60分钟。

我希望您可以在其中输入自己的时间,并根据自己的选择,选择30或60分钟作为输入时间

例如,假设我选择“ 30”并输入12:00,我希望它插入“ intid”“ 12:30”。

我尝试做某事,但没有成功:P

数据库: DATABASE

HTML:

<div class="tid">
<label class="container"><span class="tidtekst">30m</span>
  <input type="radio" class="checked" name="tid" id="tid" value="30">
  <span class="checkmark"></span>
</label>
<label class="container"><span class="tidtekst">60m</span>
  <input type="radio" name="tid" value="60">
  <span class="checkmark"></span>
</label>
<input type="text" name="tid_custom" id="egentid" placeholder="Tid">
</div>


<h2 class="overskrift">Tiden klokka starter:</h2>
  <input type="time" id="utleidnar" name="utleidnar"
       min="00:00" max="24:00" required>

PHP:

$velgut = "SELECT utleid FROM utleie";
$velgtid = "SELECT tid FROM utleie";
$inntid = "INSERT INTO utleie (inntid) VALUES ('$velgut + $velginn')";

if (@$_POST["submit"] != "") {
    $baatnr = @$_POST["baatnr"];
    $fornavn = @$_POST["fornavn"];
    $etternavn = @$_POST["etternavn"];
    $tid = @$_POST["tid"];

    if ($tid == null) {
        $tid = @$_POST["tid_custom"];
    }

    $kr = @$_POST["kr"];

    if ($kr == null) {
        $kr = @$_POST["kr_custom"];
    }

    $utleidnar = @$_POST["utleidnar"];
}

$sql = "INSERT INTO utleie (utleid, inntid, baatnr, fornavn, etternavn, tid, kr)
VALUES ('$utleidnar', '', '$baatnr', '$fornavn', '$etternavn', '$tid', '$kr')";

3 个答案:

答案 0 :(得分:1)

我认为您需要解析php中的值。尝试这样的事情:

$timestamp = strtotime('12:00') + 30*60;
$time = date('H:i', $timestamp);

答案 1 :(得分:1)

使用内置的PHP datetime函数来计算额外的30或60分钟。

$utleidnar = '13:00';
$tid = 60;

$stime = DateTime::createFromFormat('H:i',$utleidnar);
$stime->add(new DateInterval('PT' . $tid . 'M'));
$inntid = $stime->format('H:i');
echo $inntid;  // this has the new value you want

结果:

  

14:00

答案 2 :(得分:0)

您不能使用mtkime吗?

$explodedTime = explode(':',$utleidnar);
$tid = abs($_POST['tid']);
$time = date('H:i', mktime($explodedTime[0],$explodedTime[1] + $tid,0));