What is moment-timezone?
The moment-timezone package is an extension for the moment.js library that allows users to parse and display dates in any timezone. It provides timezone data and functions to work with dates in different time zones.
What are moment-timezone's main functionalities?
Parsing Dates in Timezones
This feature allows you to create a moment object with a specified timezone. The code sample creates a moment object for the time and date '2013-11-18 11:55' in the 'America/Toronto' timezone.
moment.tz('2013-11-18 11:55', 'America/Toronto')
Converting Dates to Different Timezones
This feature enables you to convert the current time to a different timezone. The code sample converts the current time to the 'America/New_York' timezone and formats it as a string.
moment().tz('America/New_York').format()
Retrieving Timezone Names
This feature provides a list of all the timezone names available in the moment-timezone library. The code sample retrieves an array of timezone names.
moment.tz.names()
Working with UTC Offsets
This feature allows you to work with UTC offsets directly. The code sample parses a date with a specific UTC offset and retrieves that offset in minutes.
moment.parseZone('2013-01-01T00:00:00-13:00').utcOffset()
Other packages similar to moment-timezone
date-fns-tz
date-fns-tz is a timezone support add-on for date-fns, a modern JavaScript date utility library. It provides similar functionalities for handling timezones but with a more modular approach, which can result in smaller bundle sizes if only specific functions are imported.
luxon
Luxon is a powerful, modern, and friendly wrapper for JavaScript dates and times. It includes comprehensive timezone support and compares to moment-timezone with a more fluent and chainable API, as well as being immutable, which can help prevent bugs in date-related code.
dayjs
Day.js is a minimalist JavaScript library for parsing, validating, manipulating, and formatting dates, similar to moment.js. With its plugin 'utc' and 'timezone', it can provide similar timezone handling capabilities as moment-timezone, but with a smaller footprint and a simpler API.
spacetime
Spacetime is a lightweight way to manipulate, traverse, compare, and format dates and times across planet Earth. It offers a different approach to handling timezones and date-time manipulation with a focus on performance and a smaller size compared to moment-timezone.
moment-timezone
Timezone information for moment.js.
After cloning repo
git submodule update --init
Updating timezone info
git submodule update
sudo zic tz/africa
sudo zic tz/antarctica
sudo zic tz/asia
sudo zic tz/australasia
sudo zic tz/europe
sudo zic tz/northamerica
sudo zic tz/southamerica
grunt zdump
grunt zones
grunt test
changelog
0.0.4
- #39 improve performance with memoize
- #46 publish only necessary files to npm
- #53, #61, #70, better handling of timezones around DST
- #41 support browserify
- #71 fix cloning zone-d moments
- #73 add moment.tz.zoneExists method
- #74 prevent double loading
0.0.3
- added bower support
- support newer versions of moment
- construction with string and zone respects zone
- added more links and timezone names in moment-timezone.json