当变量是数组的一部分时,需要帮助格式化php中的日期吗

rseugnpd  于 2021-06-17  发布在  Mysql
关注(0)|答案(3)|浏览(332)

我需要格式化我的日期字段,但我不知道如何在这个特定的场景中使用它,其中变量是数组的一部分。
我已经从许多来源阅读了许多不同的php日期格式文章,但是没有一篇文章专门介绍我在数组的foreach输出中使用的这种格式。大多数帖子似乎将变量作为单独变量或静态日期来处理。
我试过:

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

但这是实际输出:
mike higgins,日期('m/y',strotime('2013-01-09'))。
我有一个包含许多字段的表,其中一个是date\u hired,这是一个日期字段,保存方式如下yyyy-mm-dd。

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.

vhmi4jdf

vhmi4jdf1#

前任:

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

尝试

echo date("M j, Y,", strtotime($row->date_hired));
z9smfwbn

z9smfwbn2#

我猜你想要:

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

而不是:

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

单引号( ' )环绕表达式 $row->date_hired 防止它被解释为变量(它变成一个字符串)。
另外,适合您的用例的合适日期规范是 'M d, Y' ,返回类似 Jan 4, 2016 .

v09wglhw

v09wglhw3#

试试这个

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));
}

相关问题