我存儲在MySQL數據庫中,像這樣的日期:2012-02-10使用PHP來改變MySQL的日期格式
當我使用PHP它們的輸出,有我可以使用將輸出功能它像這樣10/02/2012
我用盡:
$theDate = date_format($row['date'], 'd/m/Y');
echo $theDate;
,但它似乎沒有工作。任何幫助appretiated。
PHP版本5.3.3
我存儲在MySQL數據庫中,像這樣的日期:2012-02-10使用PHP來改變MySQL的日期格式
當我使用PHP它們的輸出,有我可以使用將輸出功能它像這樣10/02/2012
我用盡:
$theDate = date_format($row['date'], 'd/m/Y');
echo $theDate;
,但它似乎沒有工作。任何幫助appretiated。
PHP版本5.3.3
您需要使用date_format()
前使用date_create()
。這是因爲date_format()
需要一個DateTime
對象作爲第一個參數。
$date = date_create($row['date']);
echo date_format($date, 'd/m/Y');
另一種方式做同樣的事情:
$dt = new DateTime('2012-02-10');
echo $dt->format('d/m/Y');
對於PHP 5.4的用戶在那裏可以簡化爲:
echo (new DateTime('2012-02-10'))->format('d/m/Y');
編輯
要對所提供的替代解決方案發表評論,它們可以被簡化於:
echo date('d/m/Y', strtotime($row['date']));
請記住,他們這樣做不帳戶夏令時或時區像DateTime
一樣。
實例化的類成員訪問已添加到5.4版本中,而不是5.5。 –
我的錯誤。感謝您指出。 –
這裏是一個非常簡單的方法來做到這一點
<?php
$theDate = $row['date'];
echo date("m/d/Y", strtotime($theDate));
?>
這裏有幾個例子:
$input = '2012-02-10';
// datetime (object oriented style)
$dt = new DateTime($input);
echo $dt->format('d/m/Y') . "\n";
// datetime (procedural style)
$dt = date_create($input);
echo date_format($dt, 'd/m/Y') . "\n";
// strtotime
$m = strtotime($input);
echo date('d/m/Y', $m) . "\n";
// substr
echo substr($input,8,2) . "/" . substr($input,5,2) . "/" . substr($input,0,4) . "\n";
// explode
$m = explode('-', $input);
echo "$m[2]/$m[1]/$m[0]" . "\n";
// preg_match
preg_match('~^(\d+)-(\d+)-(\d+)$~', $input, $m);
echo "$m[3]/$m[2]/$m[1]" . "\n";
// sscanf
$m = sscanf($input, '%d-%d-%d');
echo "$m[2]/$m[1]/$m[0]" . "\n";
p.s.我錯過了嗎? ;)
像'老路'標籤;-) –