php中有一个函数date_default_timezone_set()
,它接受像“UK / London”这样的时区字符串。但不幸的是,我只有用户的GMT偏移量。
假设我在GMT +5上,我希望获得基于GMT +5的当前时间。我在google上做了很多搜索,但没有帮助。
因为,我没有时区字符串,我正在寻找像
这样的东西$current_date = date("Y M D H:S, "GMT +5");
请帮忙
答案 0 :(得分:2)
你现在只能为使用GMT补偿,即如果用户在半年前告诉你他的GMT补偿并且你想知道现在他的位置是什么时候它完全没用。它基本上可以在几个小时的范围内。即使您在几秒钟之前获得偏移量,如果您碰巧完全达到了DST更改,那么在进行计算时可能会有所不同。
话虽如此,您需要在格式化时间内添加/减去偏移小时数,这是您唯一可以做的事情。
$offset = 5;
$hours = (gmdate('H') + $offset) % 24;
echo $hours . gmdate(':i:s Y m d');
这只是一个例子,你也需要处理分钟补偿。
答案 1 :(得分:1)
date_default_timezone_set('GMT');
$curTime = strtotime("+5 hours");
$current_date = date("Y M D H:S, $curTime);