2013-07-31 51 views
2

誰能幫我這個:SELECT DATE_FORMAT(NOW(), '%間%D-%Y')在PHP無法正常工作

$querydate ="SELECT DATE_FORMAT(NOW(),'%m-%d-%Y') AS dat"; 
$query = mysql_query($querydate); 
$row = mysql_fetch_assoc($query); 
$fecha = $row['dat']; 

-2013-31+07它返回-2037

我希望它回到今天的日期

31-07-2013 
+2

如果你想要31-07,那麼格式應該是'%d-%m-%Y'。 d =日,m =月,Y = 4位數年份。我看不出這會如何回到一個負面的一年。你確定-207年的'-'是否來自數據庫,而不是你的代碼中的其他東西? –

+0

你不應該在新開發中使用mysql_ *函數,切換到mysqli或pdo ...更多信息[here](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql- function-in-php/14110189#14110189) – Orangepill

回答

1

試試這個

SELECT DATE_FORMAT(NOW(),'%d-%m-%Y') AS dat 

Here你有日期的格式更多信息

+0

它對你的答案很有幫助 –

0

鑑於你的代碼示例中,'07-31-2013'值應分配給fecha;

如果你想要一個月的前一天,那麼將格式字符串更改爲'%d-%m-%Y'


在數值上下文評估,表達-2013-31+07應返回-2037。這是預期的行爲。

但是我們沒有在您的代碼中看到發生此評估的位置。

0

有可能成爲拉動是看不出來的你的問題的日期的原因,但如果你的MySQL執行的是同一臺機器上的PHP代碼,那麼你可以通過運行得到您想要的結果:

$fecha = date("d-m-Y"); 

並保存數據庫調用。