2016-12-08 85 views
1

在SQL數據庫中,我以標準SQL格式YYYY-mm-dd存儲各種日期,例如他們加入我的系統的出生日期和日期,但是我希望將這些日期顯示給我的英國用戶(所有我的用戶)格式爲dd-mm-YYYYPHP/SQL顯示日期格式

我已經嘗試了幾乎所有我在網上找到的關於這樣做的事情,但無法破譯它是如何正確完成的。下面列出的代碼是我目前使用的代碼,但它不顯示存儲在數據庫中的正確日期,而是使用完全隨機的日期01-01-1970。有關解決此問題的一些幫助將不勝感激。

while($row = $results->fetch_assoc()){ 
       array_push($_SESSION["ActQueue"], array($row["username"], $row["surname"], $row["forename"], date('d-m-Y', $row["dob"]), $row["gender"], $row["joined"])); 
} 

$data = 0; 
echo json_encode(['Username'=>$_SESSION["ActQueue"][0][0], 'Surname'=>$_SESSION["ActQueue"][0][1],'Forename'=>$_SESSION["ActQueue"][0][2],'DoB'=>$_SESSION["ActQueue"][0][3], 'Gender'=>$_SESSION["ActQueue"][0][4], 'Joined'=>$_SESSION["ActQueue"][0][5]]); 

回答

1

你需要傳遞給date()功能

date('d-m-Y', strtotime($row["dob"])) 

收到01-01-1970它不是一個隨機的日期,但它實際上是從UNIX系統中的第一次約會的日期之前,您的純文本轉換日期時間

+0

這有預期的效果,但增加了一個額外的「 - 」,就像這樣:'出生日期:30-11--0001 '。有什麼建議麼? –

+0

你是什麼意思?您可以在日期功能中添加任何需要的東西,如兩個減號 – Fabio

+0

它將日期更改爲'dd-mm-YYYY'格式,但因某些原因添加了一個額外的「 - 」,如「30-11--0001」。 –

1

您需要使用:

date('d-m-Y', strtotime($row["dob"])) 

strtotime

0

您可以在此使用此代碼格式化你的日期

(new \DateTime($row["dob"]))->format('d-m-Y');