JSFiddle - React, Tailwind, and code Playground
by stevenkaspar
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone-with-data.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone.min.js"></script>
JavaScript
console.log(`-----------------------------`)
moment.tz.add([
'America/Chicago|CST CDT|60 50|0101|1Lzm0 1zb0 Op0',
'America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0'
]);
const offer_billing_unit = 'months'
const last_agreement = moment().subtract(33, 'days')
const now = moment()
const units_passed = now.diff(last_agreement, offer_billing_unit)
const next_billing = last_agreement.clone().add(units_passed + 1, offer_billing_unit)
console.log(`last_agreement => ${last_agreement.format()}`)
console.log(`next_billing => ${next_billing.format()}`)
const startOfCentral = moment().tz('America/Chicago').startOf('day')
const startOfEastern = moment().tz('America/New_York').startOf('day')
console.log(`startOfCentral => ${startOfCentral.format()}`)
console.log(`startOfEastern => ${startOfEastern.format()}`)
console.log(`startOfCentral => ${startOfCentral.toDate()}`)
console.log(`startOfEastern => ${startOfEastern.toDate()}`)