php - PHP、日期、MySQL 中的时区...?

标签 php mysql date time timezone

我想弄清楚如何在我的 php 网站上显示 PST 时间。 我一直在使用 NOW() 在 MySQL 数据库中输入时间戳,并像这样调用它们:

date("m/d/y g:i a", strtotime($ref['lastupdated']))

但是,服务器时间在中部,但是,由于该网站面向 PST 时区的人们。基本上它需要在 PST 中显示。有什么办法可以做到这一点 - 比如,取那个值并减去 2 之类的东西?有什么想法吗?

我也不确定我是否需要通过 PHP 路径解决这个问题,或者这个问题是否可以通过 MySQL 解决。

感谢任何想法 - 谢谢!

$query = "SELECT refid, CONCAT(fname,' ',lname) refname, email, street, city, state, zip, interestlvl, status, added, lastupdated FROM referrals WHERE affid='$affid' ORDER BY added DESC;";

$result = mysql_query($query) or die("Query Failed: ".mysql_errno()." - ".mysql_error()."<BR>\n$Query<BR>\n");


    if ($result) {
            while ($ref = mysql_fetch_array($result, MYSQL_ASSOC))      {
                echo '


    <td bgcolor="#EFEFEF" class="list">'.
        date_default_timezone_set('America/Chicago');
        $date = new DateTime($ref['lastupdated']);
        $date->setTimezone(new DateTimeZone('America/Los_Angeles'));
        $date->format('m/d/y g:i a')
        .'</td>';
    }
    }

最佳答案

$date = new DateTime($ref['lastupdated']);
$date->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $date->format('m/d/y g:i a');

鉴于 PSTAmerica/Los Angeles。您必须确保 date.timezone 设置为 Central 的正确时区。这可以通过 php.ini 来完成或通过 date_default_timezone_set() .

然后,代码会将传入的字符串 $ref['lastupdated'] 视为默认时区 (Central),并将日期时间转换为 *America/Los_Angeles* 时区。

关于php - PHP、日期、MySQL 中的时区...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901441/

相关文章:

php - 编写 PHP Web 服务的框架

javascript - 如何从 DB(mysql) 加载数据到 google maps API(laravel)

mysql - MySQL 日期时间格式是否适用于 SQLite 和 PostgreSQL?

java - 将日期格式从 mm/dd/yyyy 转换为 MM DD, YYYY

javascript - 为什么启用和禁用按钮不起作用?

php - 无法解释的 PHP 错误(内部服务器错误 500)

php - 如何更新 WordPress 数据

MySQL 触发器返回多行

mysql - Laravel 公共(public)文件夹 Php Artisan

python - 从日期列表生成元组列表(年、月、days_in_month、full_month)