我怎样才能正确格式化我的时间戳?

How can I format my timestamp right?

我有来自 mySQL 数据库的时间戳,我想对其进行格式化。

$date = $row['date']; 
$date = date("F j, Y, g:i a"); 

我现在的问题是它打印的不是数据库的日期。相反,它会打印出当前日期。但这不是我需要的。

所以如果我打印这个,我得到正确的日期:

printf($row['date']);

但是如果我打印这个,我会得到正确的格式但不是正确的日期:

 printf($date);

您需要将该日期作为 Unix 时间戳传递给 date() 作为第二个参数。否则 date() 不知道您要格式化特定日期:

$date = date("F j, Y, g:i a", strtotime($row['date'])); 

这假设 $row['date']valid date format 中。

使用这个,因为 date() 需要时间戳:

$date = date("F j, Y, g:i a", strtotime($row['date']));

否则,time()函数将用于第二个参数并输出当前时间。 $row['date'] 应该是 PHP 可读的或时间戳(在这种情况下,您可以省略 strtotime())。