我不知道如何更改报告的时间。我正在使用 PHP 和 MySQLi。我的主机 SiteGround 的 MySQLi 系统记录的时间与我所在时区的时间不同,相差 +2 小时。他们说这是无法改变的,所以我需要以某种方式处理这个问题。
这是我的情况的代码:
我创建了一个表:
$sql = "CREATE TABLE InvoiceList (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
invoice VARCHAR(30) NOT NULL,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
我在其中插入了值(我唯一感兴趣的变量 $x_Invoice_Num 是订单的发票号码):
$sql = "INSERT INTO InvoiceList (invoice)
VALUES ('$x_Invoice_Num')";
if ($conn->query($sql) === TRUE) {
echo "";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
这是显示值的代码:
$sql = "SELECT id, invoice, reg_date FROM InvoiceList";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Invoice: " . $row["invoice"]. " - Time: " . $row["reg_date"]. " <br>";
}
} else {
echo "0 results";
}
问题:显示的时间相差 +2 小时。如何减去 2 小时以显示我的时区?我试图理解和使用 date_sub() 但我所有的尝试都失败了。如果可以的话请帮忙。
我尝试使用
date_sub()
但我无法将它放入代码中而不出现语法错误。所有在线教程似乎都只显示固定时间的示例,而没有介绍它可以在哪里用作函数。例如,典型示例如下所示:
SELECT SUBDATE('2018-05-10 01:00:00', INTERVAL 2 HOUR) AS Result;
我什至尝试将该行放入我的代码中,但它没有解析。