【问题标题】:PHP adjust time zone for datePHP调整日期的时区
【发布时间】:2013-06-29 19:41:42
【问题描述】:

我网站上的以下输出是 -1 小时,我只是想快速修复以相应地调整它,但我不确定语法是否正确...

<?php echo date('D, jS F @ g:ia', strtotime($row->datetime)); ?>

【问题讨论】:

  • 嗨,我认为这需要更多信息。 $row-&gt;datetime 位于哪个时区,包含什么内容?
  • $row->datetime 是什么时区?
  • $row->datetime 不超过 mysql 数据库的 DATETIME 输出,即。我将列值设置为 2013 年 7 月 27 日 18:00... 以上输出是 2013 年 7 月 27 日 17:00 @Pekka웃

标签: php date timezone


【解决方案1】:

设置默认时区

$timezone = 'America/Los_Angeles';
$stored_time = '2011-01-30 18:23:49';

date_default_timezone_set($timezone);
$timestamp = strtotime($stored_time);
$local_time = $timestamp + date('Z');
$local_date = date('Y-m-d H:i:s', $local_time);

echo $local_date;

【讨论】:

  • 您错过了一些事情,因为您没有在任何地方声明 $user_timezone 变量。
  • 如果本地时区已正确设置为请求的时区,这将返回错误的时间。您需要检查本地时区是否尚未设置,因此不添加或减去“新”时区
【解决方案2】:

使用 PHP 的date_default_timezone_set 函数将您的时区设置为默认使用服务器的时区。

这里是list of timezones

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2011-04-22
    • 2023-03-25
    • 1970-01-01
    • 2015-03-11
    • 2017-01-10
    • 2012-02-11
    相关资源
    最近更新 更多