时间安排的待办事项列表循环计算(7分钟=13:04-13:11,依此类推)


time scheduled to-do list loop calculation in (7 mins = 13:04 - 13:11 and so on)

我可能有php历史上最困难的挑战。我正在制作一个简单的待办事项列表系统-我输入任务和估计的分钟数并且该任务显示在下面的列表中。

只有两个表单字段"任务"answers"分钟"以及按钮。

所以现在(时间是2013-12-07 23:01),我插入"将文件发送到Bill",7分钟后任务显示为

"将文件发送到Bill"23:01-23:08

任务列表是向下的,所以如果下一个是"开始项目X"和40分钟它将出现在第一个项目中

"将文件发送给Bill"23:01-23:08
"启动项目X"23:09-23:49

我通过创建时间戳和添加分钟来管理第一次taks。我不知道计算的最佳方法是什么

我想要的功能是当我有一个长列表时,如果我取消了一个项目所有的列表都会自动计算时间表,所以接下来的事情就是的下一个任务

我是否必须对所有任务使用开始时间戳和结束时间戳并更新所有时间戳,或者我是否可以使每个任务都是之前任务的总和(ext.7分钟+40分钟+12分钟+9分钟)与开始日期的连锁反应?

这听起来很容易,但似乎比我预期的要困难得多

您应该将持续时间存储在数据库中,并将DateTime作为所有计算的起点。然后,有了它,你就可以玩DateTime&日期间隔。

// examples
$date = DateTime::createFromFormat('Y-m-d H:i', '2013-12-07 23:01');
// add 7 minutes to it and echo result
$date->add(new DateInterval('PT7M'));
echo $date->format('Y-m-d H:i');
// add 40 minutes to it and echo result
$date->add(new DateInterval('PT40M'));
echo $date->format('Y-m-d H:i');

等等…