在php中转换mysql时,我总是得到16:00:20,无论mysql时间如何

jon*_*all 1 php mysql time date

我在转换时间方面遇到麻烦,当我在mysql时间戳上使用date()函数时,它只返回16:00.

我使用date()函数错了吗?

PHP:

date_default_timezone_set('America/Los_Angeles');

$date = date('H:i:s A'); 
echo "System: $date <br />";

$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query = "SELECT CURTIME() as timestamp";
$result = mysqli_query($dbc, $query) or die(mysqli_error());
$row = mysqli_fetch_assoc($result);
echo "DB CurTime: ".$row["timestamp"]."<br />";
echo "DB CurTime Converted: ".date("H:i:s A",$row["timestamp"]);
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

系统:晚上20:41:23

DB CurTime:20:41:23

DB CurTime转换:16:00:20 PM

Kal*_*ium 5

是的,你使用date()错了.date()接受UNIX时间戳形式的第二个参数,但这不是你正在处理的.

使用UNIX_TIMESTAMP()而不是CURTIME()从MySQL获取,虽然我想知道你为什么从MySQL获得时间而不是使用PHP完美的好time().