下周六(UTC)PHP

时间:2014-01-05 00:40:05

标签: php timestamp utc

我的目标:在格林威治标准时间17:00:00 + 0 / UTC时间(倒计时)获取每个下一个星期日的日期时间

User from +0 GMT gets: 2014/01/11 17:00:00
User from +1 GMT gets: 2014/01/11 18:00:00
User from +3 GMT gets: 2014/01/11 20:00:00
etc.

我到目前为止:

date_default_timezone_set("UTC");
$nextsat = strtotime("next Saturday");
$saturday = date(strtotime('+17 hours', $nextsat));

现在问题是:它在我当地时间计算了17个小时,而不是周六时间的GMT + 0。

我还尝试了很多其他的东西,似乎没什么用。

2 个答案:

答案 0 :(得分:1)

它无效,因为您必须将时区设置为地点

像:

  date_default_timezone_set('America/Los_Angeles');

此处列出了所有时区:

http://php.net/manual/en/timezones.php

<强>更新

试试这个:

$nextsat = strtotime("next Saturday");
date_default_timezone_set("UTC");
$saturday = date(strtotime('+17 hours', $nextsat));

在&#34;下周六&#34;

之后设置utc时间

答案 1 :(得分:0)

您应该尝试这种观点,看看它是否能解决您的问题:

$h = "17";// Hour for time zone goes here e.g. +7 or -4, just remove the + or -
$hm = $h * 60; 
$ms = $hm * 60;
$gmdate = gmdate("m/d/Y g:i:s A", time()-($ms)); // the "-" can be switched to a plus if that's what your time zone is.
echo "Your current time now is :  $gmdate . ";