我正在建立一个豪华轿车服务的网站,该网站应提供您事先请求的服务的价格。
常规服务是每分钟1美元。但是,从午夜到早上8点的所有时间都被视为高级版,价格为2美元。
现在,这是复杂的部分。我需要隔离客户在正常时间和保费上支付的时间,以便产生价格。
例如。如果服务时间是从晚上9点到凌晨2点,则客户以1美元/分钟支付3小时,以2美元/分钟支付2小时。
如何获得晚上9点和凌晨2点,并转换为180分钟+ 120分钟?
是的,我篡改了http://code.google.com/p/datejs/。但它只是没有用。有没有一个聪明的数学"这样做的方式?感谢帮助人员:)
答案 0 :(得分:0)
所以在A.M.它似乎并且完全不在P.M.所以只要减去他们从12点开始的时间,在你的例子12-9中,你得到3小时,然后将任何小时加到0为am,再次你的例子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结束,但那并不难。