计算不同时段的价格

Calculate price for different hours

我想计算停车时间的价格。 这个人选择一个开始时间和一个结束时间,然后它应该告诉你它的成本是多少。但是时间有不同的价格。

停车价格:

08-18 价格:20 美元/件。小时

18-08 年价格:15 美元/件。小时

我想应该是这样的

 var start = prompt ('When did your parking start?');
 var end = prompt ('When did your parking end?');

 var price1 = 20
 var price2 = 15

 var time = end - start;
 var price = 20 * time;

 document.getElementById('pris').innerHTML =  price;

那么如何计算特定时间段不同价格的价格?

这可能不适用于边缘情况,目前为止仅适用于整个小时,但也许它可以帮助您了解如何完成:

const start = prompt("When did your parking start?");
const end = prompt("When did your parking end?");

const price1 = 20;
const price2 = 15;

// hour 0 == hour 24
const prices = [
  { hour: 0, price: price2 },
  { hour: 1, price: price2 },
  { hour: 2, price: price2 },
  { hour: 3, price: price2 },
  { hour: 4, price: price2 },
  { hour: 5, price: price2 },
  { hour: 6, price: price2 },
  { hour: 7, price: price2 },
  { hour: 8, price: price1 },
  { hour: 9, price: price1 },
  { hour: 10, price: price1 },
  { hour: 11, price: price1 },
  { hour: 12, price: price1 },
  { hour: 13, price: price1 },
  { hour: 14, price: price1 },
  { hour: 15, price: price1 },
  { hour: 16, price: price1 },
  { hour: 17, price: price1 },
  { hour: 18, price: price2 },
  { hour: 19, price: price2 },
  { hour: 20, price: price2 },
  { hour: 21, price: price2 },
  { hour: 22, price: price2 },
  { hour: 23, price: price2 },
  { hour: 24, price: price2 }
];

const time = end - start;

let price = 0;
for (let i = 0; i <= time; i++) {
  price += prices[i].price;
}

document.querySelector("#price").innerHTML = price + "$";
<h1 id="price"></h1>