2017-06-08 51 views
0

我有一個文本字段,您可以在格式dd/mm/yyyy中輸入日期,並且我想將該日期轉換爲yyyy-mm-dd以存儲在我的數據庫中。從codeigniter中的輸入字段更改日期格式以存儲在mysql中

我知道這已被問過很多次了,一個普遍的答案是嘗試這樣的事情。

$var = '20/04/2012'; 
$date = str_replace('/', '-', $var); 
echo date('Y-m-d', strtotime($date)); 

問題是我不知道如何將它應用到我的情況。

這是我在我的視圖代碼

<input type="text" name="initialDate" value="<?php echo $this->input->post('fechaElaboracion'); ?>" class="form-control" id="initialDate" /> 

在我的控制器我從我的表單的輸入域的所有數據,將它們保存在一個數組,然後調用一個函數在我的模型將它們存儲在數據庫中。

$params = array(
    'name' => $this->input->post('name'), 
    'address' => $this->input->post('address'), 
    'initialDate' => $this->input->post('initialDate'), 
); 
$po_general_id = $this->Pogeneralmodel->add_po_general($params); 
redirect('po_general/index'); 

我需要在視圖中還是在控制器中重新格式化日期?我該怎麼做? 謝謝。

+0

'$ date = new DateTime($ dateFromInput); echo $ date-> format(「你的格式」)'使用類似的東西 – kRicha

回答

1

您的看法是隻顯示來自您的控制器的結果。在這種情況下,它可以在傳遞給Model之前在Controller中完成。

$newDate = date("Y-m-d",strtotime($this->input->post('initialDate'))); 
$params = array(
    'name' => $this->input->post('name'), 
    'address' => $this->input->post('address'), 
    'initialDate' => $newDate, 
); 
$po_general_id = $this->Pogeneralmodel->add_po_general($params); 
redirect('po_general/index');