Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
timezone-utility
Advanced tools
A Lightweight time zone management utility for JavaScript and TypeScript with zero dependencies.
A versatile timezone management package designed for CommonJS, ES Module (ESM), JavaScript, and TypeScript projects. It offers a range of features, including timezone listing, retrieving labels and values, region-based filtering, and converting between UTC and other timezones.
Install the package using npm:
npm install timezone-utility
npm install luxon
// For ES Module (ESM)
import { TimeZone } from "timezone-utility";
// For CommonJS
const { TimeZone } = require("timezone-utility");
Method Name | Description |
---|---|
list | Returns a list of all available time zones. |
listWithoutLabel | Returns a list of all time zone values without labels. |
listWithoutValue | Returns a list of all time zone labels without values. |
listByRegion | Lists time zones for a specific region. |
getLabelFromValue | Gets the label for a given time zone value. |
getValueFromLabel | Gets the value for a given time zone label. |
getRegions | Returns a list of all available regions. |
convertUTCToTimeZone | Converts a UTC date to a specified time zone. |
convertToUTC | Converts a date-time from a specified time zone to UTC. |
convertBetweenTimeZones | Converts a date-time between two specified time zones. |
getCurrentTimeInTimeZone | Gets the current time in a specified time zone. |
getTimeDifferenceBetweenTimeZones | Calculates the time difference between two time zones. |
convertToISO | Converts a formatted date-time string to ISO format. |
Returns a list of all available time zones.
const timeZones = TimeZone.list();
console.log(timeZones);
Output Example:
[
{ "label": "(UTC+00:00) Africa/Abidjan", "value": "Africa/Abidjan" },
{ "label": "(UTC-05:00) America/New_York", "value": "America/New_York" },
...
]
Returns a list of all time zone values without labels.
const timeZoneValues = TimeZone.listWithoutLabel();
console.log(timeZoneValues);
Output Example:
[
"Africa/Abidjan",
"America/New_York",
...
]
Returns a list of all time zone labels without values.
const timeZoneLabels = TimeZone.listWithoutValue();
console.log(timeZoneLabels);
Output Example:
[
"(UTC+00:00) Africa/Abidjan",
"(UTC-05:00) America/New_York",
...
]
Lists time zones for a specific region.
const timeZonesInRegion = TimeZone.listByRegion('America');
console.log(timeZonesInRegion);
Output Example:
[
{ "label": "(UTC-05:00) America/New_York", "value": "America/New_York" },
{ "label": "(UTC-06:00) America/Chicago", "value": "America/Chicago" },
...
]
Parameters:
region: string
: The region to filter time zones.Gets the label for a given time zone value.
const label = TimeZone.getLabelFromValue('America/New_York');
console.log(label);
Output Example:
"(UTC-05:00) America/New_York"
Parameters:
value: TimeZoneNames
: The time zone value.Gets the value for a given time zone label.
const value = TimeZone.getValueFromLabel('(UTC-05:00) America/New_York');
console.log(value);
Output Example:
"America/New_York"
Parameters:
label: string
: The time zone label.Returns a list of all available regions.
const regions = TimeZone.getRegions();
console.log(regions);
Output Example:
[
"Africa",
"America",
"Asia",
"Atlantic",
"Australia",
"Europe",
"Indian",
"Pacific"
]
Converts a UTC date to a specified time zone.
const converted = TimeZone.convertUTCToTimeZone('2023-10-10T10:00:00', 'America/New_York', { is24Hour: true });
console.log(converted);
Output Example:
"2023-10-10 06:00:00"
Parameters:
utcDate: Date | string
: The UTC date.targetTimeZone: TimeZoneNames
: The target time zone.options: ConvertOptions (optional)
: Object containing optional formatting options:
is24Hour: boolean
: Whether to use 24-hour format (default true
).dateSeparator: string
: The date separator (default -
).timeSeparator: string
: The time separator (default :
).Converts a date-time from a specified time zone to UTC.
const converted = TimeZone.convertToUTC('2023-10-10T10:00:00', 'America/New_York', { is24Hour: false });
console.log(converted);
Output Example:
"2023-10-10T14:00:00.000Z"
Parameters:
dateTime: Date | string
: The date-time to convert.sourceTimeZone: TimeZoneNames
: The source time zone.options: ConvertOptions (optional)
: Object containing optional formatting options:
is24Hour: boolean
: Whether to use 24-hour format (default true
).dateSeparator: string
: The date separator (default -
).timeSeparator: string
: The time separator (default :
).Convert a datetime from one timezone to another and format it in either 12-hour or 24-hour format. You can also specify a custom date separator. By default, the function uses a 24-hour format (is24Hour = true
) and the date separator is -
.
const originalDate = "2024-10-15T14:00:00Z";
const convertedTime = TimeZone.convertBetweenTimeZones(originalDate, 'America/New_York', 'Asia/Dhaka', {is24Hour: false, dateSeparator: '-', timeSeparator: ':'});
console.log(convertedTime);
Output Example:
"10/15/2024, 12:00:00"
Parameters:
date: string
: The date-time string to convert.fromTimeZone: TimeZoneNames
: The source timezone.toTimeZone: TimeZoneNames
: The target timezone.options: ConvertOptions (optional)
: Object containing optional formatting options:
is24Hour: boolean
: Whether to use 24-hour format (default true
).dateSeparator: string
: The date separator (default -
).timeSeparator: string
: The time separator (default :
).Returns the current date and time in the specified timezone. The method allows formatting options such as 24-hour or 12-hour format and custom date and time separators.
const currentTimeInNY = TimeZone.getCurrentTimeInTimeZone('America/New_York', { is24Hour: false, dateSeparator: '-', timeSeparator: ':' });
console.log(currentTimeInNY);
Output Example:
"10-15-2024 08:34:56 AM"
Parameters:
targetTimeZone: TimeZoneNames
: The target timezone in which you want the current time.options: ConvertOptions (optional)
: Object containing optional formatting options:
is24Hour: boolean
: Whether to use 24-hour format (default true
).dateSeparator: string
: The date separator (default -
).timeSeparator: string
: The time separator (default :
).Calculates the time difference between two time zones for a specific date.
const difference = TimeZone.getTimeDifferenceBetweenTimeZones('2023-10-10T10:00:00', 'UTC', 'America/New_York');
console.log(difference);
Output Example:
"+4 hours 0 minutes"
Parameters:
date: string
: The date string to use for calculation.fromTimeZone: TimeZoneNames
: The source time zone.toTimeZone: TimeZoneNames
: The target time zone.Converts a formatted date-time string to ISO format.
const isoString = TimeZone.convertToISO("10th October 2023, 10:00 AM");
console.log(isoString);
Output Example:
"2023-10-10T10:00:00"
Parameters:
dateTimeString: string
: The date-time string to convert.This project is licensed under the MIT License.
We welcome contributions to this package! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
README.md
provides clear instructions for installation, usage, and examples for each method.convertUTCToTimeZone
method now includes an option for the 12-hour/24-hour format, as requested.FAQs
A versatile timezone management package designed for CommonJS, ES Module (ESM), JavaScript, and TypeScript projects.
The npm package timezone-utility receives a total of 24 weekly downloads. As such, timezone-utility popularity was classified as not popular.
We found that timezone-utility demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.