PHP 将 SQL 日期转换为显示为数字字符串的不同格式

PHP Converting SQL date to different format showing as a string of numbers

我有一个查询,它列出了数据库中的行。我需要将标准 SQL 日期格式从 Y-m-d H:i:s (2001-03-10 17:16:18) 转换为 F j, Y, g:i a(2001 年 3 月 10 日,5:16 下午)回显日期时。

要转换我有的日期格式

$sqlDate = $row->updateDate;
$updateDate = $phpDate = strtotime( $sqlDate );
$sqlDate = date( 'F j, Y, g:i a', $phpDate );

然后回显

echo $phpDate;

当回显 $phpDate 时,它​​显示为 10 个数字的字符串,如下所示:1454241452

我不确定这些数字是多少……秒?

我在 strtotime 的转换中做错了什么?还是我的问题出在其他地方?

感谢您的宝贵时间。

你回显了错误的日期变量,试试这个:

$sqlDate = $row->updateDate;  # get date from database 
$utime = strtotime($sqlDate); # this is unix time (check php.net/date)
$newdate = date( 'F j, Y, g:i a', $utime); # convert unix time to desired format
echo $newdate;

或一行:

$newdate = date( 'F j, Y, g:i a', strtotime($row->updateDate));
echo $newdate;

您的 $phpDate 变量值存储了 strtotime 但不正确。

你像这样修改你的代码

$sqlDate = $row->updateDate;
$updateDate = $phpDate = strtotime( $sqlDate );
$sqlDate = date( 'F j, Y, g:i a', $phpDate );
$phpDate= date( 'F j, Y, g:i a', $phpDate );
echo $phpDate;

这段代码工作正常

此代码对您有用:)