PHP日期函数给了我一个错误的时间

时间:2015-07-21 13:16:38

标签: php mysql

我有一个php datetime函数,用于将当前日期和时间插入mySQL数据库。但是,日期给出了正确的日期,但错误的时间是任何建议。

以下是代码。

/* Get Current Date and Time for the bookking_time field */
$booking_time=new DateTime();
$booking_time = $booking_time -> format("Y-m-d H:i:s");


// Create connection
$con = new mysqli($servername, $username, $password, $dbname , 3306);


if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
}  

 //mysql_select_db("$database", $con);
 $sql= "INSERT INTO data_centre_users (fisrt_name,last_name,request,purpose,description,booking_time,approved)
VALUES ('$first','$last','$request','$purpose','$description','$booking_time','$approval')"; 

if ($con->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $con->error;
}

解决问题的任何建议

3 个答案:

答案 0 :(得分:2)

使用date_default_timezone_set();

在脚本文件的最开头设置时区

假设在我的情况下,我的时区是印度/马尔代夫,那么它将是

date_default_timezone_set('Indian/Maldives');

有关支持的时区列表,请参阅http://php.net/manual/en/timezones.php

答案 1 :(得分:0)

使用SQL语法NOW()获取日期和时间可能更简单。

$sql= "INSERT INTO data_centre_users 
       (fisrt_name,last_name,request,purpose,
        description,booking_time,approved)
       VALUES ('$first','$last','$request',
               '$purpose', '$description', NOW(), '$approval')"; 

你可能也拼错了fisrt_name,但我肯定不知道。

答案 2 :(得分:0)

首先检查您的date_default_timezone_set();是否设置正确然后尝试$booking_time = date('Y-m-d H:i:s');