2014-03-18 35 views
0

我想要做的是將一定量的時間添加到當前時間,然後將其添加到數據庫,但從某種原因它只返回小時時間?時間只返回小時? PHP

$nowtime = date("Y-m-d H:i:s"); 

if($time_selected==="wt-15") 
{ 
    $play_time = date('H:i:s', strtotime($nowtime . '+15 minutes'))+ " GMT "; 
    $time_minus = "-15 minutes"; 
} else if($time_selected==="wt-30") { 
    $play_time = date('H:i:s', strtotime($nowtime .'+30 minutes'))+ " GMT "; 
    $time_minus = "-30 minutes"; 
} else if($time_selected==="wt-45") { 
    $play_time = date('H:i:s', strtotime($nowtime .'+45 minutes'))+ " GMT "; 
    $time_minus = "-45 minutes"; 
} else { 
    $play_time = date('H:i:s', strtotime($nowtime .'+1 hour')) + " GMT "; 
    $time_minus = "-1 hour"; 
} 

$game_data = array(
    'username_1' => $username, 
    'amount' => $_POST['wamount'], 
    'console' => $console, 
    'pot' => $winner_pot, 
    'time_selected' => $time_minus, 
    'rules' => $_POST['gametype'], 
    'time_game' => $play_time 
); 

我附和查詢到頁面上,這是結果

INSERT INTO `gsessions` (`username_1`, `amount`, `console`, `pot`, `time_selected`,  `rules`, `time_game`) VALUES ('Aidan', '50', 'Xbox 360', '100', '-1 hour', 'gt-standard', '19') 

19條小時就回來,我怎麼能回到它採用該格式'19:15' 爲VARCHAR場在數據庫中?

+0

有''時間類型](http://dev.mysql.com/doc/refman/5.7/en/time.html)時,請不要'varchar'類型的時間。 MySQL還提供函數(DATE_ADD,DATE_SUB)來更改保存日期,我希望你的代碼在使用這些日期時變得更加清晰。 – GhostGambler

回答

1

+不是PHP中的連接運算符; .是。

變化看起來像這樣的臺詞:

$play_time = date('H:i:s', strtotime($nowtime .'+1 hour')) + " GMT "; 

要這樣:

$play_time = date('H:i:s', strtotime($nowtime .'+1 hour')) . " GMT"; 

的問題是(如果你很好奇),它正在處理這就像你在做整加成。它將這兩個字符串作爲整數進行輸入,然後將它們加在一起。

+0

這工作,謝謝。我很習慣用C語言編程,所以我錯過了一個愚蠢的錯誤。 – Aidan

+0

@AidanMilligan如果我每次使用'+'而不是'''都會有一個暱稱。我會諺語地說「ballin」 – 13ruce1337