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

Php 如何正确使用下面的DateTime功能,php,Php,我有一个时间选择器,其中文本框(DurationSelected)将时间格式化为“00小时00分钟00秒”。。现在的问题是,我希望这次插入到数据库中,但显然格式不正确。我希望文本框格式保持不变,但如何才能以正确的格式在数据库中正确插入时间 此时,下面的代码导致页面无法加载,因此它不会在数据库中插入任何内容。我是否对下面的日期时间功能进行了错误编码: 以下是插入值的代码: $time = DateTime::createFromFormat( 'h * i * s *', $_POST['

我有一个时间选择器,其中文本框(DurationSelected)将时间格式化为“00小时00分钟00秒”。。现在的问题是,我希望这次插入到数据库中,但显然格式不正确。我希望文本框格式保持不变,但如何才能以正确的格式在数据库中正确插入时间

此时,下面的代码导致页面无法加载,因此它不会在数据库中插入任何内容。我是否对下面的日期时间功能进行了错误编码:

以下是插入值的代码:

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

 mysql_query($sql);
也许你可以用这个:
$time=date(“H:i:s”,strottime($\u POST[“durationselected”])

也许您可以使用此选项:
$time=date(“H:i:s”,strottime($\u POST[“durationselected”])

允许日期选择器返回有效的ISO持续时间字符串,如

$duration = "PT3H12M36S";
现在您可以使用
DateInteval

$time = new DateTime;
$time->add(new DateInterval($duration);
作为旁注:MySQL的每个日期*类型的列都接受ISO格式的字符串

VALUES (' . $time->format('c')  . ')

允许日期选择器返回有效的ISO持续时间字符串,如

$duration = "PT3H12M36S";
现在您可以使用
DateInteval

$time = new DateTime;
$time->add(new DateInterval($duration);
作为旁注:MySQL的每个日期*类型的列都接受ISO格式的字符串

VALUES (' . $time->format('c')  . ')

我尝试过这个方法,但无论持续时间是多少,它都会显示在数据库“01:00:00”中。例如,$\u POST[“持续时间”]是什么?我尝试过这个方法,但无论持续时间是什么,它都会显示在数据库“01:00:00”中。例如,$\u POST[“持续时间”]是什么?做同样的事情,页面不会加载。我使用了这些值('.$time->format($\u POST['durationselected'])。)。这不对吗?我想你没有看到我的第一句话。同时阅读:做同样的事情,页面不加载。我使用了这些值('.$time->format($\u POST['durationselected'])。)。这不对吗?我想你没有看到我的第一句话。还请阅读以下内容: