PHP - 发布更新时,发布的时区不是我期望的

时间:2017-05-02 11:03:24

标签: php

我有一个非常简单的更新页面,我发布带有标题,内容和时区的更新。但是,我注意到,因为几天的时区与我的不同。

如果我的当地时间是12.00,则说它是在10.00发布的。现在我不确定为什么会突然发生这种情况,所以我希望你们可以帮助我。

数据库结构: 表:更新 - 专栏:medewerker,titel,tekst,datum(timestamp)

这是我的代码:

function PostUpdate() {
try {
  if($_SERVER['REQUEST_METHOD'] == 'POST') {
    if(!empty($_POST['titel']) && $_POST['tekst']) {
      $mede    = ucfirst($_SESSION['username']);

      $titel = trim($_POST['titel']);
      $titel = strip_tags($titel);
      $titel = htmlspecialchars($titel);

      $tekst = trim($_POST['tekst']);
      $tekst = strip_tags($tekst);
      $tekst = htmlspecialchars($tekst);

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

      require('connection.php');

      $insertstmt = $pdo->prepare('INSERT INTO updates (medewerker, titel, tekst, datum) VALUES (:medewerker, :titel, :tekst, :datum)');
      $insertstmt->execute(array(':medewerker' => $mede, ':titel' => $titel, ':tekst' => $tekst, ':datum' => $datum));
      header('Refresh:0');
      exit();
    } else {
      echo "Titel of tekst is niet ingevuld.";
    }
  }
}
catch (PDOException $e) {
  echo "Something went wrong: " . $e->getMessage() . "";
}

}

1 个答案:

答案 0 :(得分:0)

可以根据您的服务器(主机)(在本地也相同)进行。我在AWS服务器上使用Symfony时很早就遇到了这个问题。修复我使用

date_default_timezone_set("America/New_York"); # can change whatever you want

以下是List of supported time formats

在本地php.ini

date.timezone="";

阅读:Runtime Configuration