Moment timezone sandbox
by Mike Jacobson
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.6.0/moment-timezone-with-data.min.js"></script>
JavaScript
const hono = 'Pacific/Midway' // -3, GMT-11:00
const aus = 'Australia/Sydney' // +19hrs, GMT+11:00
const startDate = '2026-02-05'
const endDate = '2026-02-10'
// const honoStart = moment.tz(startDate, hono).startOf('day')
// console.log(honoStart.format())
// datepicker start date defaults to start of current date in location tz
const auStart = moment.tz(aus).startOf('day')
console.log(auStart.format())
console.log(auStart.format('lll'))
const auStartDate = auStart.toDate()
console.log(auStartDate)
console.log(auStartDate.toISOString())
console.log(moment(auStartDate).format('lll'))
const locationUtcOffset = auStart.utcOffset()
const myUtcOffset = moment().utcOffset()
const totalOffset = locationUtcOffset - myUtcOffset
const myAdjustedStart = moment().add(totalOffset, 'minutes')
console.log(myAdjustedStart.format('lll'))
const adjustedAu = auStart.clone().add(totalOffset, 'minutes')
const adjustedAuDate = adjustedAu.toDate() // <- Date object for location startofday
console.log(adjustedAuDate)
console.log(moment(adjustedAuDate).format('lll'))
// console.log(honotime.format())
// const honoDate = honotime.toDate()
// const honoBack = moment.tz(honoDate, hono)
// console.log(honoDate)
// const austime = moment.tz(aus)
// console.log(austime.format('lll'))
// console.log(austime.format())