将日期设置为Europe / London并插入数据库

时间:2013-10-02 13:40:59

标签: php datetime mysqli prepared-statement

我的网站将在欧洲/伦敦时间本地运行,因此我想根据此时区插入他们注册的日期和时间。

date_default_timezone_set('Europe/London');
$rtime = date("Y-m-d H:ia", time());
$online = 1;

if ($stmt = $mysqli->prepare("INSERT INTO `users`(`username`, `password` ,`email` , `nickname`, `registered`, `online`) VALUES (?, ?, ?, ?, ?, ?)"))
    {
    $stmt->bind_param("ssssii", $username, $password, $email, $nickname, $rtime, $online);
    $stmt->execute();
    $stmt->close();
    }

当我运行这个脚本时,日期/时间仍然显示有效00:00:00,但我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

如果您询问时间戳

等内容
$date = new DateTime(null, new DateTimeZone('Europe/London'));
$timestamp =  $date->getTimestamp();

使用 Unix时间戳来节省数据库中的时间

当您从数据库中提取此时间戳时,请将其隐藏回来......

date('m/d/Y', 1299446702);