Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript细分和隔离时间_Javascript_Algorithm_Math_Time_Datejs - Fatal编程技术网

用javascript细分和隔离时间

用javascript细分和隔离时间,javascript,algorithm,math,time,datejs,Javascript,Algorithm,Math,Time,Datejs,我正在为一个豪华轿车服务网站,应该提供服务的价格,你是事先要求 常规服务是每分钟1美元。然而,从午夜到早上8点的所有时间都被视为额外费用,费用为2美元 现在,这里是复杂的部分。我需要分离出客户在正常时间和溢价上支付的时间,以便生成价格 比如说。如果服务时间为晚上9点到凌晨2点,客户以1$/min的速度支付3小时,以2$/min的速度支付2小时 如何获得晚上9点和凌晨2点的时间,并转换为180分钟+120分钟 顺便说一句,我绑篡改。但它就是不起作用。有没有一种聪明的“数学”方法 谢谢大家的帮助:)

我正在为一个豪华轿车服务网站,应该提供服务的价格,你是事先要求

常规服务是每分钟1美元。然而,从午夜到早上8点的所有时间都被视为额外费用,费用为2美元

现在,这里是复杂的部分。我需要分离出客户在正常时间和溢价上支付的时间,以便生成价格

比如说。如果服务时间为晚上9点到凌晨2点,客户以1$/min的速度支付3小时,以2$/min的速度支付2小时

如何获得晚上9点和凌晨2点的时间,并转换为180分钟+120分钟

顺便说一句,我绑篡改。但它就是不起作用。有没有一种聪明的“数学”方法


谢谢大家的帮助:)

所以高级时间都是在上午。看起来,非高级时间都是在下午。所以只要从12减去他们给出的任何时间,即下午12点,在你的例子12-9中,你得到3小时,然后在上午0点加上任何小时,同样是你的例子0+2,当然是2小时。然后乘以60得到分钟数。一旦你有了这个数字,你就可以将每个金额乘以它的收费金额,然后把它们加在一起。我希望am/pm是一个开关,可以为每个参数设置一个true/false变量

代码可以如下所示:

//start_time and end_time are objects that have 2 properties, am/pm
//which is a bool and time which is a int
function calc_time(start_time,end_time){
   var normal_pay;
   var premium_pay;
   if(start_time.pm == true){
     normal_pay = 12 - start_time.time;
     normal_pay = normal_pay * 60;
   } else{
     normal_pay = 0 + start_time.time;
     normal_pay = normal_pay * 60 * 2; //this is premium time the whole night was premium pay
   }

   if(end_time.am == true){
     premium_pay = 0 + end_time.time;
     premium_pay = premium_pay * 60 * 2;
   } else {
     premium_pay = 12 - end_time.time;
     premium_pay = premium_pay * 60; //this is normal time the whole night was normal pay
   }

   return premium_pay + normal_pay;
}

这并不能解决你仍然需要考虑的所有问题,比如分钟,比如他们想在凌晨3:25结束,但这并不难。

用户目前如何选择他们想要预订的时间?如果您只是使用一系列具有24小时格式时间的select元素,这应该相对简单…@BenM我在构建逻辑时有一个占位符表单(它只是文本框)。一个搭档来做这个样子。但是,您能否详细说明一系列select元素将如何发挥作用?