这就是我所拥有的:
$_SESSION["chosen_exam_start_time"] = new DateTime();
$schedule_date = $_SESSION["chosen_exam_start_time"];
$schedule_date->setTimeZone(new DateTimeZone('Europe/London'));
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
所以我在会话中传递了一个名为" chosen_exam_start_time"的日期。
现在我正在努力做的是添加$ triggerOn。
目前如果我这样做
die(var_dump($triggerOn));
我明白了:
string(19) "2016-03-28 17:17:57"
我想要做的是如果我有另一个变量告诉我类似10的值,我怎么能将该值添加到$ triggerOn。所以它将是:
string(19) "2016-03-28 17:27:57"
到目前为止我所做的是:
$_SESSION["chosen_exam_start_time"] = new DateTime();
$schedule_date = $_SESSION["chosen_exam_start_time"];
$schedule_date->setTimeZone(new DateTimeZone('Europe/London'));
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
$value = 10;
$triggerOn->modify((int) $value.' minute');
die(var_dump($triggerOn));
然而,这个模具现在不打印任何东西
答案 0 :(得分:1)
使用字符串进行任何计算都没有意义。想象你有这个:
$price = 'Thirty five point nine';
$discount = 'Twenty percent';
...你想申请折扣; - )
如果您当前的架构使得无法保留原始DateTime对象(我不知道,我没有足够的信息),您最好创建一个新的:
<?php
$triggerOn = '2016-03-28 17:17:57';
$minutes_to_add = 10;
$triggerOnDateTime = new DateTime($triggerOn, new DateTimeZone('Europe/London'));
$triggerOnDateTime->modify( sprintf('%d minutes', $minutes_to_add) );
$triggerOn = $triggerOnDateTime->format('Y-m-d H:i:s');
答案 1 :(得分:0)
您正在寻找日期时间对象的修改功能。
$trigger->modify((int) $value.' minute');
注意我刚刚从Carbon Library中提取了这个内容,这是一个非常有用的DateTime包装器,为您提供了很多语法糖,例如:
$trigger->addMinutes(10);