在PHP 5.4我如何添加2小时到一个UTC日期变量(并返回UTC格式化为ical)


in PHP 5.4 How do I add 2 hours to a UTC date variable (and return UTC formatted for ical)

我有一个日期变量,我需要简单地添加2小时。它需要返回格式为:20150921T172345Z的UTC日期。

我所看到的日期操作示例都不是我所需要的,并且我很难将所看到的转换为我的案例。

这是我现在不工作的:

//This yields exactly what I need for start date:
$rightNowUTC = gmdate("Ymd'THis'Z"); 
//But trying to add 2 hours gives an error. So what is wrong with syntax?
//  Start by creating end date variable that i will add the time to.
$endDateForWelcome = gmdate("Ymd'THis'Z");
//  Set duration (per examples I've seen)
$Duration = new DateInterval('PT2H'); // 2 hour
//  Then add duration to the date.
$endDateForWelcome->add( $Duration );

我得到下一个错误:

PHP致命错误:在非对象上调用成员函数add()。

该日期将作为事件结束日期写入.ics文件(发布日历文件)。所以返回UTC是必需的。我见过一些使用

的代码
date(DATE_ICAL, strtotime($meeting->ends))

但我不知道如何适应我的需要。

提前感谢!

试试这个:

$rightNowUTC = gmdate("Ymd'THis'Z");  //time right now
$endDateForWelcome = gmdate("Ymd'THis'Z", strtotime('+ 2 hours')); 

$endDateForWelcome是一个字符串,所以你必须用strtotime()解析它

http://php.net/manual/en/function.strtotime.php

echo "Time Right Now: ". $rightNowUTC ."</br>";
echo "Time After Adding:".  $endDateForWelcome;