时区转换无效

时间:2013-12-30 16:13:00

标签: php time

为了让时间戳在用户的时间段内,我已经为我的发布系统设置了一个带有PHP的时区转换工具。基本上用户通过下拉列表设置自己的时区,并将其作为PHP时区存储在数据库中 - 因此,如果我选择GMT,则数据库中的值将为Europe/London

然后我们的想法是从数据库中获取它并将其插入到时区转换代码中,但目前这根本不会转换任何内容。有谁能看到这个问题?

doMessage.php

$date = date("Y-m-d G:i:s");
$user_tz = $result['time'];
$schedule_date = new DateTime($date, new DateTimeZone($user_tz) );
$schedule_date->setTimeZone(new DateTimeZone('UTC'));
$date =  $schedule_date->format('Y-m-d H:i:s');

芯/的init.php

<?php
session_start();
$db = new PDO('this is all correct');

if(isset($_SESSION['id'])) {
    $i = $_SESSION['id'];

    $query = $db->prepare("SELECT * FROM users WHERE id=:i");
    $query->bindParam(":i",$i);
    $query->execute();
    $result = $query->fetch();

    $ver = $result["activated"];

    if($ver == 0) {
    echo "Please <a href='activate.php'>verify your account.</a>";
    }
    }
else {
echo "Please <a href='login.php'>log in.</a>";
$guest = True;
}

1 个答案:

答案 0 :(得分:0)

要获得GMT的当前日期和时间,这就足够了:

date_default_timezone_set('GMT');
$current_date = date("Y-m-d h:i:s A T")

echo $current_date;

这将于2013-12-30 5:30:20 GMT输出