Если вас интересует существующая библиотека javascript, которая выполняет эту работу очень хорошо, вы можете проверить moment.js .
В частности, соответствующий момент.js для вашего вопроса есть длительность .
Вот несколько примеров того, как вы можете использовать это для достижения своей задачи:
var duration = moment.duration(31536000);
// Using the built-in humanize function:
console.log(duration.humanize()); // Output: "9 hours"
console.log(duration.humanize(true)); // Output: "in 9 hours"
moment.js имеет встроенную поддержку 50 + человеческих языков, поэтому, если вы используете метод humanize()
, вы получаете бесплатную поддержку нескольких языков.
Если вы хотите отображать точную информацию о времени, вы можете воспользоваться моментом-точным диапазоном plug-in для момента.js, который был создан именно для этой цели:
console.log(moment.preciseDiff(0, 39240754000);
// Output: 1 year 2 months 30 days 5 hours 12 minutes 34 seconds
Следует отметить, что в настоящий момент moment.js не поддерживает недели / дни (в неделю) для объекта продолжительности.
Надеюсь, это поможет!
def calculate_bill_amount(food_type,quantity_ordered,distance_in_kms):
bill_amount=0
if(food_type=="N" and quantity_ordered>=1 and distance_in_kms>0):
if(distance_in_kms>0 and distance_in_kms<=3):
bill_amount=150*quantity_ordered
elif(distance_in_kms >3 and distance_in_kms<=6)
bill_amount=150+(3*(distance_in_kms-3))*quantity_ordered
else:
bill_amount=150+(6*(distance_in_kms-6))*quantity_ordered
elif (food_type=="V" and quantity_ordered>=1 and distance_in_kms>0):
if(distance_in_kms>0 and distance_in_kms<=3):
bill_amount=120*quantity_ordered
elif(distance_in_kms>3 and distance_in_kms<=6):
bill_amount=120+(3*(distance_in_kms-3))*quantity_ordered
else:
bill_amount=120+(6*(distance_in_kms-6))*quantity_ordered
else:
bill_amount=-1
return bill_amount
bill_amount=calculate_bill_amount ("N", 1,7) печать (bill_amount)
def calculate_bill_amount(food_type, quantity_ordered, distance_in_kms):
bill_amount = 0
vegComboPrice = 120
nonVegComboPrice = 150
if quantity_ordered > 0 and distance_in_kms > 0:
if food_type == "V":
vegSubTotal = vegComboPrice * quantity_ordered
if distance_in_kms <= 3:
bill_amount = vegSubTotal
elif distance_in_kms > 3 and distance_in_kms <= 6:
distanceCharge = distance_in_kms - 3
distanceCharge *= 3
bill_amount = vegSubTotal + distanceCharge
else:
distanceCharge = distance_in_kms - 6
distanceCharge *= 6
bill_amount = vegSubTotal + distanceCharge + 9
elif food_type == "N":
nonVegSubTotal = nonVegComboPrice * quantity_ordered
if distance_in_kms <= 3:
bill_amount = nonVegSubTotal
elif distance_in_kms > 3 and distance_in_kms <= 6:
distanceCharge = distance_in_kms - 3
distanceCharge *= 3
bill_amount = nonVegSubTotal + distanceCharge
else:
distanceCharge = distance_in_kms - 6
distanceCharge *= 6
bill_amount = nonVegSubTotal + distanceCharge + 9
else:
bill_amount = -1
else:
bill_amount = -1
return bill_amount
bill_amount = calculate_bill_amount("V",1,1)
print(bill_amount)