我的表单包含开始时间和结束时间的两个时间输入。
我想验证它们,以便时间必须是整点或整点半。
我还想计算时间,计算出它们之间有多少半小时,并将其乘以一个数字以获得雇用成本。
我不知道我会怎么做。
请帮忙。
你有两个问题。
- 有效时间
- 计算
对于 1. 问题,我建议一次使用 3 个下拉菜单。一个用于小时,一个用于分钟(00 或 30),一个用于上午或下午。要区分上午和下午,您还可以使用单选按钮。
对于计算,这很简单。我们有 2 次,例如上午 8:30 和下午 4:30。
- 得到两次
- 如果一个时间是下午,则在小时中添加 12
- 将两个时间的小时数除以 2。
- 如果分钟等于 30,则在时间上加 1
- 减去时间 2 减去时间 1。
例如:
8:30 am - 4:30 pm
8/2+1 = 4
(4+12)/2+1 =9
9-4 =5 -> 5 half hours between
Multiply with cost factor and you are done.
在PHP中,我会尝试这样做:
<?
if(isset($_POST['submit']){
$pm1 = $_POST['pm1']; //boolean, true if time 1 is pm
$pm2 = $_POST['pm2'];//same for time 2
$h1 = !$pm1 ? $_POST['hours1'] : $_POST['hours1']+12 ; //if time 1 pm -> hours1+12
$h2 = !$pm1 ? $_POST['hours2'] : $_POST['hours2']+12 ; //same here for hours 2
$m1 = $_POST['minutes1'];
$m2 = $_POST['minutes2'];
$h1 = $m1=="00" ? $h1 : $h1+1; //if minutes are 00 -> hours1 +1
$h2 = $m2=="00" ? $h2 : $h2+1;
$factor = 10,5; //cost factor
$time = $h2-$h1
$cost = $time*$factor; // cost
}
?>