我的目标:在格林威治标准时间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。
我还尝试了很多其他的东西,似乎没什么用。
答案 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 . ";