Implementation of the js-joda ZoneRulesProvider, providing the bindings to the iana tzdb, using latest zone file generated by moment-timezone
Install joda using npm
npm install js-joda
npm install js-joda-timezone
const jsJoda = require('js-joda')
.use(require('js-joda-timezone'))
const { LocalDateTime, ZoneId, ZonedDateTime } = jsJoda;
LocalDateTime
.parse('2016-06-30T11:30')
.atZone(ZoneId.of('Europe/Berlin'))
.toString() // 2016-06-30T11:30+02:00[Europe/Berlin]
ZonedDateTime
.parse('2016-06-30T11:30+02:00[Europe/Berlin]')
.withZoneSameInstant(ZoneId.of('America/New_York'))
.toString() // 2016-06-30T05:30-04:00[America/New_York]
ZonedDateTime
.parse('2016-06-30T11:30+02:00[Europe/Berlin]')
.withZoneSameLocal(ZoneId.of('America/New_York'))
.toString() // 2016-06-30T11:30-04:00[America/New_York]
import { use as jsJodaUse, ZonedDateTime, ZoneId } from 'js-joda'
import jsJodaTimeZone from 'js-joda-timezone'
jsJodaUse(jsJodaTimeZone)
const zdt = ZonedDateTime.now(ZoneId.of('America/New_York'))
<script src="../dist/js-joda.js"></script>
<script src="../dist/js-joda-timezone.js"></script>
<script>
// use js-joda-timezone
JSJoda.use(JSJodaTimezone)
// copy all js-joda classes to the global scope
for(let key in JSJoda) { this[key] = JSJoda[key]; }
LocalDateTime
.parse('2016-06-30T11:30')
.atZone(ZoneId.of('Europe/Berlin'))
.toString() // 2016-06-30T11:30+02:00[Europe/Berlin]
ZonedDateTime
.parse('2016-06-30T11:30+02:00[Europe/Berlin]')
.withZoneSameInstant(ZoneId.of('America/New_York'))
.toString() // 2016-06-30T05:30-04:00[America/New_York]
ZonedDateTime
.parse('2016-06-30T11:30+02:00[Europe/Berlin]')
.withZoneSameLocal(ZoneId.of('America/New_York'))
.toString() // 2016-06-30T11:30-04:00[America/New_York]
</script>
- This ZoneRulesProvider implemantion supplies all functionality that is required by the js-joda package.
- Additional ZoneRules functionality like transitions(), etc. is not implemented.
-
js-joda-timezone is released under the BSD 3-clause license:
-
The author of joda time and the lead architect of the JSR-310 is Stephen Colebourne.
-
The packed json version of the iana tzdb is imported from moment-timezone package.