获取查询结果时的格式化日期

时间:2013-05-15 11:58:59

标签: php mysql date format

好的,这是另一个:我想以特定的日期格式从mysql查询中获取输出。不幸我的代码不起作用。它必须与“ - > 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')
        );

}

3 个答案:

答案 0 :(得分: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()功能。

答案 1 :(得分: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 
        );

}

答案 2 :(得分:-1)

'date' => ((new DateTime($row['date']))->format('d.m.Y'))

编辑1:

'date' => (new DateTime($row['date']))->format('d-m-Y')