global-time-toolkit
v0.1.1
Published
Lightweight global date/time formatter with automatic timezone support, similar to dayjs/moment, with flexible format tokens.
Maintainers
Readme
global-time-toolkit
Lightweight global date/time formatter with automatic timezone support, similar to dayjs/moment, with flexible format tokens.
Installation
npm install global-time-toolkit
# or
yarn add global-time-toolkitBasic usage
import { GlobalTime, globalTime } from "global-time-toolkit";
// Current time in your local timezone
const now = GlobalTime.now();
console.log(now.format("DD/MMM/YYYY HH:mm:ss"));
// Current time in a specific timezone
const dubai = GlobalTime.now("Asia/Dubai");
console.log(dubai.format("DD/MMM/YYYY HH:mm:ss"));
// UTC formatting
const utcNow = GlobalTime.utcNow();
console.log(utcNow.format("YYYY-MM-DD HH:mm:ss"));
console.log(utcNow.toISOString()); // always UTC
// From an existing Date / string / timestamp
const fromDate = GlobalTime.from(new Date(), "Europe/London");
console.log(fromDate.format("YYYY/MMM/DD HH:mm"));
// Using the helper function
console.log(globalTime().format("DD/MM/YYYY")); // now, local timezone
console.log(globalTime("2026-03-17T10:00:00Z", { timeZone: "Asia/Dubai" }).format("DD/MMM/YYYY HH:mm:ss"));
console.log(globalTime("2026-03-17T10:00:00Z", { utc: true }).format("DD/MMM/YYYY HH:mm:ss"));Formatting
Supported tokens:
YYYY- 4-digit year (e.g. 2026)YY- 2-digit year (e.g. 26)MMM- short month name (Jan, Feb, ...)MM- month with leading zero (01-12)M- month number (1-12)DD- day of month with leading zero (01-31)D- day of month (1-31)HH- hours 00-23H- hours 0-23mm- minutes 00-59m- minutes 0-59ss- seconds 00-59s- seconds 0-59
You can combine tokens freely, for example:
DD/MMM/YYYYYYYY/MMM/DDDD/MM/YYYYYYYY-MM-DDHH:mm:ssHH:mm
Timezones
This library uses Intl.DateTimeFormat under the hood, so you can pass any valid IANA timezone:
GlobalTime.now("Asia/Dubai");
GlobalTime.now("Europe/London");
GlobalTime.now("America/New_York");You can also change the timezone on an existing instance:
const t = GlobalTime.now("Asia/Dubai");
const inLondon = t.withTimeZone("Europe/London");
const inUtc = t.utc();
console.log(t.format("DD/MMM/YYYY HH:mm:ss"));
console.log(inLondon.format("DD/MMM/YYYY HH:mm:ss"));
console.log(inUtc.format("DD/MMM/YYYY HH:mm:ss"));Build
This package is written in TypeScript. To build:
cd global-time
npm install
npm run build