php - 添加两个小时的日期变量

laa*_*rsk 3 php date add strtotime

我想在我的日期/时间变量上添加3分钟,但我不知道该怎么做.我从这样的字符串中创建变量:( 这是RFC 2822日期格式顺便说一句)

$date = 2011-10-18T19:56:00+0200
Run Code Online (Sandbox Code Playgroud)

我使用此命令将该字符串转换为日期:

$time = date_format(DateTime::createFromFormat("Y-m-d\TH:i:sO", $date), "G:i")
Run Code Online (Sandbox Code Playgroud)

现在,我想为该变量添加3分钟,但我不确定如何.我以前在我的脚本中使用了以下命令,但这适用于当前日期/时间,所以我不确定如何将它用于我的时间变量:

$currenttime = date('G:i', strtotime('+2 hours'));
Run Code Online (Sandbox Code Playgroud)

那么,如何在$ time变量中添加三分钟?

小智 9

echo $idate="2013-09-25 09:29:44";

$effectiveDate = strtotime("+40 minutes", strtotime($idate));

echo date("Y-m-d h:i:s",$effectiveDate);
Run Code Online (Sandbox Code Playgroud)


phi*_*hag 5

使用第二个参数strtotime提供参考时间:

$date_rfc2822 = '2011-10-18T19:56:00+0200';
$dateTime = DateTime::createFromFormat("Y-m-d\TH:i:sO", $date_rfc2822);
echo date('G:i', strtotime('+2 hours', $dateTime->getTimestamp()));
Run Code Online (Sandbox Code Playgroud)


Mar*_*c B 5

既然您已经使用了DateTime对象,请坚持下去:

$time = DateTime::createFromFormat("Y-m-d\TH:i:sO", $date);
$three_minutes = $time->add(new DateInterval('P2H'));
                                               ^^--two (2) hours (H)
Run Code Online (Sandbox Code Playgroud)

  • 字符串格式不正确.你需要使用$ time-> add(new DateInterval('PT2H')); (3认同)