The Timezone TypeScript Library (tzts
) is a comprehensive toolkit designed to assist developers in handling timezones in their applications. This library offers a robust selection of functions, utilities, and types for managing timezones, making it easier to handle the complexities associated with global time conversions.
0.0.1
npm install
npm run build
- Comprehensive Timezone Data: Provides a rich dataset of timezones, including UTC offsets, abbreviations, and descriptive names.
- Type Safety: Utilizes TypeScript for enhanced code reliability and developer experience.
- Modular Design: Easy integration with modern JavaScript and TypeScript projects.
To use the timezone data in your project, import the desired components as follows:
import { timezone2DimensionArray, timezone } from 'tzts';
console.log(timezone2DimensionArray);
console.log(timezone);
Here's a basic example demonstrating how to retrieve the display name and abbreviation of a timezone:
import { timezone } from 'tzts';
const tzInfo = timezone.find(tz => tz.value === 'Eastern Standard Time');
console.log(tzInfo?.text); // Outputs: (UTC-05:00) Eastern Time (US & Canada)
console.log(tzInfo?.abbr); // Outputs: EST
To build the library for production, use the following npm script:
npm run build
Run tests using Jest by executing:
npm test
Ensure your code adheres to the configured styles and guidelines:
npm run format
npm run lint
Generate documentation for the project using TypeDoc:
npm run docs
The tzts
library provides the following functions and types:
Timezone
- Object representing a timezone
TimezonePicklist
- Picklist of all the timezones
TimezoneTwoDimensionArray
- Array of TimezonePicklist
TimezoneEnum
- Enum of all the timezones
TimezoneKeys
- A list of all the keys in the Timezone object
TimezoneValue
- A list of all the values in the Timezone object
TimezoneArray
- Array of Timezone
TimezonePicklistArray
- Array of TimezonePicklist
TimezoneEnumArray
- Array of TimezoneEnum
Contributions to the tzts
library are welcome. Please ensure to follow the code of conduct and submit pull requests for review.
This project is licensed under the MIT License - see the LICENSE file for details.
For support or queries, reach out to the maintainer Bradley Dirheimer at b.dirheimer@gmail.com.