2012-03-31 88 views
0

我有一個時間選擇器,其中的文本框(durationChosen)格式化的時間像'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); 

回答

2

也許你可以這樣做: $time = date("H:i:s", strtotime($_POST["durationChosen"]));

+0

我試過,但不管時間是什麼,它會顯示在數據庫'01:00:00'中。 – user1304197 2012-03-31 13:29:22

+0

什麼是$ _POST [「持續時間」]例如? – Dion 2012-03-31 14:42:34

1

讓日期選擇器返回一個有效的ISO時間字符串像

$duration = "PT3H12M36S"; 

現在你可以使用DateInteval

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

補充說明:MySQL的接受一個I​​SO格式的字符串,每一個它的日期*的-typed列

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

http://php.net/datetime

+0

同樣的事情,頁面不加載。我做了這個VALUES('。$ time-> format($ _ POST ['durationChosen'])'')。這是不正確的? – user1304197 2012-03-31 13:34:31

+0

我假設你沒有看到我的第一句話。另請閱讀:http://php.net/dateinterval.construct – KingCrunch 2012-03-31 13:53:33