php设置时区然后插入datatbase

时间:2016-12-08 18:06:46

标签: php mysql datetime mysqli

我正在将我的php脚本重新编码为mysqli,并且除了我网站的IP连接的日期和时间戳之外,大部分功能都是我希望它们工作的方式。

目前的代码如下

    <?php






include 'news/admin/dbconnect.php';

$browser  =  $_SERVER['HTTP_USER_AGENT'];

$ip = $_SERVER['REMOTE_ADDR']; //Php retrieves the vistors IP address and stores it in the Var $ip

$visitor = gethostbyaddr($_SERVER['REMOTE_ADDR']); // Php retrives the visitors Host address and stores in the $visitor Var

$page = $_SERVER['PHP_SELF']; // Retrives page name

$sql="INSERT INTO statistics (Page, Browser, Host, IP, Date_time)

VALUES

('$page','$browser','$visitor','$ip', now())";



if (!mysqli_query($DBcon,$sql))

  {

  die('Error: ' . mysqli_error($con));

  }

mysqli_close($con);



?>

但我遇到的问题是我的脚本将在不同的时区运行,所以我一直在尝试设置包含在$ datetime中的时区,但数据库中的输出是空的我搜索了谷歌和PHP手册网站和我有几天的尝试没有给出“2016-12-07 09:44:14”(这是服务器时间)的预期输出,但我想要实现的是告诉我的脚本在我自己的伦敦时区获取时间,但如果用户在中国,脚本被配置为在中国时间运行它会给出正确的时间。

我的上一次尝试代码:

$datetime->setTimezone(new DateTimeZone('Europe/London'));

我会在这里说实话我不知道该做什么我已经完成了大量的谷歌搜索术语,但没有骰子数据库中的所有结果都是空的。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用此代码

<?php

 date_default_timezone_set("Europe/London");
 echo "The time is " . date("h:i:sa");

$date = date('Y-m-d H:i:s');

作为您的数据库提交