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

php中计划的待办事项列表循环计算时间-(7分钟=13:04-13:11,依此类推),php,mysql,Php,Mysql,我可能遇到了php历史上最困难的挑战。我在做什么 轻松的待办事项列表系统-我输入任务和估计分钟数 该任务将显示在下面的列表中 只有两个表单字段“任务”和“分钟”以及按钮 现在(时间是2013-12-07 23:01),我插入 “将文件发送给Bill”,7分钟后任务显示为 “将文件发送给比尔”23:01-23:08 。。任务列表会下降,因此如果下一步是“开始项目X”,则需要40分钟 它将出现在第一个项目下 “将文件发送到账单”23:01-23:08 “启动X项目”23:09-23:49 我通过创建

我可能遇到了php历史上最困难的挑战。我在做什么 轻松的待办事项列表系统-我输入任务和估计分钟数 该任务将显示在下面的列表中

只有两个表单字段“任务”和“分钟”以及按钮

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

“将文件发送给比尔”23:01-23:08

。。任务列表会下降,因此如果下一步是“开始项目X”,则需要40分钟 它将出现在第一个项目下

“将文件发送到账单”23:01-23:08
“启动X项目”23:09-23:49

我通过创建时间戳来管理第一个tak,并通过添加分钟来创建输出(H:I)。 我不知道计算的最佳方法是什么

我想要的功能是当我有一个很长的列表,如果我取消一个项目 所有列表都将自动计算日程安排,因此下一件事就是下一个任务

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


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

您应该以db为单位存储持续时间,并将DateTime作为所有计算的起点。 这样,你就可以玩DateTime和DateInterval了

// 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');
等等…

使用对象时效果很好:)-除了。。。我正在努力从mysql而不是2013-12-07 23:01插入startdate,因此它将从$row['startdate']获取数据。。。。。我正在尝试类似于-$date=DateTime::createFromFormat('Y-m-dh:I,$row['startdate']);-但所有的尝试都不起作用