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;

此代码工作正常

此代码对您有用:)