我正在制作一个简单的时间管理系统功能,我想添加 任务和估计的分钟。
因此,如果我添加到“完成向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', ));
但事实并非如此 工作,我不知道下一个记录将如何注意下一个记录
这可能吗?
答案 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";