PHP / SQL显示日期格式为

时间:2016-12-08 18:04:40

标签: php sql date

在SQL数据库中,我以标准SQL格式YYYY-mm-dd存储各种日期,例如出生日期和他们加入我的系统的日期,但我希望将这些日期显示给我的英国用户(我的所有用户)格式为dd-mm-YYYY

我已经尝试过几乎所有我在网上找到的关于这样做的事情,但无法解读它是如何正确完成的。下面列出的代码是我目前使用的代码,但它不显示存储在数据库中的正确日期,而是使用完全随机的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]]);

3 个答案:

答案 0 :(得分:1)

在传递给date()函数

之前,您需要将纯文本日期转换为时间
date('d-m-Y', strtotime($row["dob"]))

您收到的日期01-01-1970不是随机日期,而是实际上是unix系统的第一个日期

答案 1 :(得分:1)

您需要使用:

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

strtotime

答案 2 :(得分:0)

您可以使用此代码格式化日期

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