【问题标题】:convert to users correct timezone转换为用户正确的时区
【发布时间】:2014-04-09 23:57:27
【问题描述】:

我使用 php date() 将日期存储在我的数据库中;然后我查询日期并将其转换为我需要获取用户时区的可读格式,然后添加或减去正确的时间。我已经为此工作太久了,我需要帮助,哈哈。我的数据库变量是 $datep

$dateTime1 = new DateTime($datep);
$dateq81 = $dateTime1->format('g:i A');
$dateq61 = new DateTime($todaysdate);
$dateq51 = $dateq61->format('g:i A');
$dateTime = new DateTime($datep);
$dateq8 = $dateTime->format('g:ia \o\n l jS F Y');
$dateq6 = new DateTime($todaysdate);
$dateq5 = $dateq6->format('g:ia \o\n l jS F Y');
$dateTime2 = new DateTime($datep);
$dateq82 = $dateTime2->format('jS M Y');
$dateq62 = new DateTime($todaysdate);
$dateq52 = $dateq62->format('jS M Y');
list($hh,$mm,$ss)= split(':',$dateq81);
if ($dateq82 == $dateq52)
{
  $uploaddate = 'Today at '.$dateq81.'';
    }
else
{
   $uploaddate = $dateq8;
}

我一直在玩这个

$timestamp = strtotime($datep) - (540*60); 

我认为这会有所帮助,但到目前为止还没有运气

【问题讨论】:

    标签: php mysql timezone timestamp


    【解决方案1】:

    您可以使用 DateTime 构造函数参数来传递时区,PHP 会为您代劳,所以需要您自己算术。

    http://uk1.php.net/manual/en/datetime.construct.php

    【讨论】:

    • 我相信你是对的,我猜你只是需要阅读更多内容,因为我还不明白。
    • @NatoThorpe 如果您有任何问题,请告诉我。基本上,您必须为每个用户存储时区的名称(例如“欧洲/伦敦”)并传递它。
    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 2014-06-17
    • 2011-07-02
    • 2022-07-06
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    相关资源
    最近更新 更多