如何正确使用下面的DateTime功能

时间:2012-03-31 13:12:47

标签: php

我有一个时间戳,其中文本框(durationChosen)格式化时间,如'00小时00分00秒'。现在问题是我希望这次插入数据库,但显然格式不正确。我希望文本框格式保持不变,但如何以正确的格式在数据库中正确插入时间?

目前,下面的代码导致页面无法加载,因此没有在数据库中插入任何内容。我是否错误地将下面的DateTime功能编码为:

以下是INSERT VALUES的代码:

    $time = DateTime::createFromFormat( 'h * i * s *', $_POST['durationChosen'] );
    $sql="
      INSERT INTO Session (SessionDuration)
      VALUES ('" . $time->format( 'H:i:s' ) . "')";

 mysql_query($sql);

2 个答案:

答案 0 :(得分:2)

也许你可以用这个: $time = date("H:i:s", strtotime($_POST["durationChosen"]));

答案 1 :(得分:1)

让datepicker返回有效的ISO持续时间字符串,如

$duration = "PT3H12M36S";

现在您可以使用DateInteval

$time = new DateTime;
$time->add(new DateInterval($duration);

作为旁注:MySQL为其每个DATE * -typed列

接受ISO格式的字符串
VALUES (' . $time->format('c')  . ')

http://php.net/datetime