我有一个时间戳,其中文本框(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);
答案 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') . ')