我正在将日期和时间插入到我的数据库中,但是时间错了,因为很可能服务器位于其他国家/地区或设置为不同的时区。
$sqlCheck = "SELECT * FROM Employees WHERE AFNumber='".$_GET["af"]."' AND (".$row['Field']." NOT LIKE '".$_POST[$tempname]."')";
$result3 = $con->query($sqlCheck);
if ($result3->num_rows > 0) {
// output data of each row
while($row3 = $result3->fetch_assoc()) {
$sql3 = "INSERT INTO `Changes` (`Table`, `AFNumber`, `Attribute`, `DateChanged`, `HRUser`, `OldValue`, `NewValue`)
VALUES ('Employees', '".$_GET["af"]."', '".$row["Field"]."', '".date("d/m/Y h:i:sa")."', '$login_session', '.$row3[$tempname]', '$_POST[$tempname]')";
if ($con->query($sql3) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql3 . "<br>" . $con->error;
}
}
}
我发现这个功能可以解决这个问题,但是我无法正确地集成它,有什么帮助吗?
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
答案 0 :(得分:0)
默认情况下,datetime
中的mysql
格式为YYYY-MM-DD HH:MM:SS
。使用 -
date("Y-m-d H:i:s")
答案 1 :(得分:0)
以下是我发现以您在代码中指定的格式获取日期的内容:
<?php
date_default_timezone_set("America/New_York");
echo "Time is " . date("d/m/Y h:i:sa");
?>
<强>输出强>
答案 2 :(得分:0)
你可以这样做(例如):
date_default_timezone_set("Europe/Brussels");
$date = date(DateTime::ATOM);
所以你的查询变成了:
$sql3 = "INSERT INTO `Changes` (`Table`, `AFNumber`, `Attribute`, `DateChanged`, `HRUser`, `OldValue`, `NewValue`)
VALUES ('Employees', '".$_GET["af"]."', '".$row["Field"]."', '". $date."', '$login_session', '.$row3[$tempname]', '$_POST[$tempname]')";