php将计划任务添加为当前时间的分钟为12:10 - 12:19

时间:2013-09-15 02:15:30

标签: php mysql

我正在制作一个简单的时间管理系统功能,我想添加 任务和估计的分钟。

因此,如果我添加到“完成向John发送电子邮件”字段和“23”(作为分钟),它会进入 mysql为$sql = "INSERT INTO schedule (task, time, timestamp) VALUES ('$_POST[task]','$_POST[time]','$_POST[timestamp]')";

输出将是“完成向John发送电子邮件21:02 - 21:25” 所以,如果下一个任务需要7分钟,那将是从21:26 - 21:33“(请注意 第一项任务等等等等

我尝试了echo date('H:i', strtotime('+["time"] minutes', ));

但事实并非如此 工作,我不知道下一个记录将如何注意下一个记录

这可能吗?

1 个答案:

答案 0 :(得分:0)

您在上面尝试的内容几乎是正确的,除了您可能需要$_POST['time']而不是["time"],而您的代码为echo date ('H:i', strtotime('+{$_POST["time"]} minutes'));。但是这会在当前时间之后的time分钟给出,而不是在开始时间之后。

要获得结束时间,您需要将开始时间(我假设为$_POST['timestamp'])转换为UNIX时间戳,然后添加任务的长度并从中获取UNIX时间戳。

尝试一下:

// Remember to check for valid user input. I'll leave that for you.
$task = $_POST['task'];
$time = $_POST['time'];
$timestamp = $_POST['timestamp'];

// Get the time here
$start_time = date ("H:i", strtotime ($timestamp));
$end_time = date ("H:i", strtotime ($timestamp) + $time * 60);

echo "{$task} {$start_time}-{$end_time}\n";