我目前正在开发一个在线mcq考试系统。这里,当用户提交表单(完成考试后)时,$ total_time_of_paper和$ user_time也由隐藏字段提交。表单提交后,它将计算用户所用的时间。
例如,如果$ total_time_of_paper = 10分钟,当用户提交表格时,$ user_time = 3分钟27秒,那么我需要输出= 6分钟33秒。
请注意,计时器计算从10到0的时间。
我尝试了date_diff(),但没有得到正确的结果。
$date1=date_create( $total_time_of_paper . ' : 00');
$date2=date_create($user_time );
$diff=date_diff($date1,$date2);
echo $diff->i . ' : ' . $diff->s;
正确使用此函数或任何其他php函数的任何提示。
答案 0 :(得分:0)
有很多方法可以做到这一点,但根据你所拥有的,试试这个......
$total_time_of_paper = 10;
$user_time = '00:03:33';
$date1=date_create( '00:'.$total_time_of_paper . ':00');
$date2=date_create($user_time );
$diff=date_diff($date1,$date2);
echo $diff->i . ':' . $diff->s;
主要的是以$ 00:00:00';
的正确格式获取$ user_time和$ total_time_of_paper的时间由于你只是处理时间,你也可以使用它......
$total_time_of_paper = '00:10:00';
$user_time = '00:03:33';
$time_1 = strtotime($total_time_of_paper);
$time_2 = strtotime($user_time);
$time_diff = $time_1 - $time_2;
$time_remaining = date('i:s', $time_diff);
你可以把它变成一个函数,当你使用codeigniter时(根据你的许多标签......)你可以把它变成一个辅助函数。