我在数据库“ lastUpdate”中有一个表,该表记录了另一个表的最新更新的日期时间。我的代码有效,但是数据库中记录的时间比原先的时间提前了6个小时。
我已将我的vps时区设置为我的时区。通过终端检查日期时,我得到了正确的信息。这无济于事。
这是我用来更新表格的代码。代码中对“美国/芝加哥”的调整使我的网站返回了正确的时间。问题是我们在表的该列中正在查看的应用程序。
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
header("Access-Control-Allow-Origin: *");
include "../admin/php/config/connect.php";
// This block grabs the whole list for viewing
$sql = "SELECT * FROM lastUpdate WHERE id=1 LIMIT 1";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query );
$i=0; // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$last_updated = $row["last_updated"];
}
}
?>
<?php
$datetime = new DateTime(''. $last_updated.'');
date_default_timezone_set('America/Detroit');
$la_time = new DateTimeZone('America/Chicago');
$datetime->setTimezone($la_time);
echo $datetime->format('h:i a m/d/Y');
?>
我意识到由于时区转换,我在网站上获得的时间正确...但是该应用程序并不是为转换任何东西而构建的。它只是读取该表中的时间和日期。我真的希望表格正确无误。
答案 0 :(得分:0)
解决方案是在我的VPS上编辑php.ini文件以设置时区。与我将时间插入数据库表的方式无关。