Billing Cycles
by stevenkaspar
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.0/moment.min.js"></script>
<div id='result'></div>
JavaScript
const agreement = {
value: 1,
unit: 'month',
}
const billing = {
value: 1,
unit: 'week',
}
const price = 1200.00
const billingPriceVirtual = function () {
let billing_cycles = 0
const sim_start_date = moment().startOf('day')
const end_agreement = sim_start_date.clone().add(agreement.value, agreement.unit)
while (sim_start_date.isBefore(end_agreement, 'day')) {
sim_start_date.add(billing.value, billing.unit)
billing_cycles += 1
}
return price / billing_cycles
}
document.getElementById('result').innerHTML = billingPriceVirtual()