使用日期时间进行最新更新并获取错误的时间

时间:2019-07-10 17:14:03

标签: php mysql datetime

我在数据库“ 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');
?>

我意识到由于时区转换,我在网站上获得的时间正确...但是该应用程序并不是为转换任何东西而构建的。它只是读取该表中的时间和日期。我真的希望表格正确无误。

1 个答案:

答案 0 :(得分:0)

解决方案是在我的VPS上编辑php.ini文件以设置时区。与我将时间插入数据库表的方式无关。