0

好的,这是另一个:我想以特定日期格式从 mysql-query 获取输出。不幸的是,我的代码不起作用。它必须与“->format()”有关,因为没有它我会得到预期的结果。我究竟做错了什么?

$sql = "
    SELECT 
        something,
        date
    FROM 
        table
    ";

$querynav = mysql_query($sql);

while($row = mysql_fetch_assoc($querynav)){

    $answer[] = array(
        'something' => $row['something'],
        'date' => (new DateTime($row['date']))->format('d.m.Y')
        );

}
4

3 回答 3

3

您可以使用 Mysql DATE_FORMAT函数。

SELECT something, DATE_FORMAT(date, '%m-%d-%Y') as date FROM table;

如果你想用 PHP 做,你可以这样做。

$answer[] = array(
        'something' => $row['something'],
        'date'      => date('d-M-Y', strtotime($row['date']))
);

strtotime()如果您的值为timestamp ,则不必使用函数。

于 2013-05-15T12:01:15.543 回答
2

如果您$row['date']有约会,请执行以下操作:

$newdate =  date('d.m.Y', strtotime($row['date']));

你可以12.03.2013格式化日期。

编辑:

while($row = mysql_fetch_assoc($querynav)){
    $newdate =  date('d.m.Y', strtotime($row['date']));

    $answer[] = array(
        'something' => $row['something'],
        'date' => $newdate 
        );

}
于 2013-05-15T12:02:51.267 回答
-1
'date' => ((new DateTime($row['date']))->format('d.m.Y'))

编辑1:

'date' => (new DateTime($row['date']))->format('d-m-Y')
于 2013-05-15T12:15:27.860 回答