Нужна помощь в форматировании даты в PHP, когда переменная является частью массива - PullRequest
0 голосов
/ 27 декабря 2018

Мне нужно отформатировать поле DATE, но я не могу понять, как это сделать с этим конкретным сценарием, где переменная является частью массива.

Я прочитал множество различных форматов дат PHPсообщения из многих источников, но ни один из них не относится к этому формату, который я использую с выходом массива foreach специально.Большинство сообщений, кажется, обращаются к переменной как к одиночной переменной или как к статической дате.

Я пытался:

foreach ($employees as $row) { 
    echo "$row->firstname $row->lastname, date('m/Y', strtotime('$row->date_hired')).";
}

, но это фактический вывод:

Майк Хиггинс, дата ('m / Y', strtotime ('2013-01-09')).

У меня есть таблица со многими полями, и одним из них является date_hired, которыйполе ДАТА, которое сохраняется как ГГГГ-ММ-ДД.

firstname   |   lastname   |    date_hired
Mike        |   Higgins    |    2016-01-04

Я запрашиваю эту таблицу и получаю массив ObjectList, полный полей:

$employees = "SELECT firstname, lastname, date_hired from employees ";
$db->setQuery( $employees ); 
$employees = $db->loadObjectList();

, а затем вывожу свои данные:

foreach ($employees as $row) { 
echo "$row->firstname $row->lastname, $row->date_hired.";
}

Это, конечно,даст мне это: Mike Higgins, 2016-01-04.

Но я хочу вот что: Mike Higgins, Jan 4, 2016.

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

Попробуйте это

foreach ($employees as $row) { 
    echo "$row->firstname $row->lastname, ".date('m/Y', strtotime($row->date_hired));
}

Я думаю, это тоже будет работать.

foreach ($employees as $row) { 
    echo $row->firstname." ".$row->lastname.", ".date("M j, Y", strtotime($row->date_hired));
}
0 голосов
/ 27 декабря 2018

ex:

echo date("M j, Y,", strtotime("2011-01-07"));

try

echo date("M j, Y,", strtotime($row->date_hired));
0 голосов
/ 27 декабря 2018

Полагаю, вы хотите:

date('M d, Y', strtotime($row->date_hired))

Вместо:

date('m/Y', strtotime('$row->date_hired'))

Одинарные кавычки (') вокруг выражения $row->date_hired не позволяют его интерпретировать какпеременная (становится строкой).

Также правильной спецификацией даты для вашего варианта использования является 'M d, Y', которая будет возвращать что-то вроде Jan 4, 2016.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...