timezone-shift
v0.1.2
Published
Lightweight timezone utility with multi-timezone DST support for TypeScript/JavaScript
Downloads
18
Maintainers
Readme
timezone-shift
Lightweight timezone utility with automatic detection and DST support for TypeScript/JavaScript.
Features
- 🤖 Auto timezone detection - Zero-config for browser and Node.js
- 🌍 Universal timezone support - Any valid IANA timezone
- 🕒 Accurate DST handling - Uses platform timezone databases
- 🪶 Zero dependencies - Minimal footprint
- 🔧 Type-safe - Complete TypeScript definitions
- 🔄 Backward compatible - Existing code works unchanged
Installation
npm install timezone-shiftQuick Start
import { isDSTNow, getCurrentTimezoneParts, formatNow } from "timezone-shift";
// Auto-detection (new)
const isInDST = isDSTNow();
const parts = getCurrentTimezoneParts();
const formatted = formatNow();
// Traditional usage (still works)
import { isDST, toTimezoneParts } from "timezone-shift";
const londonDST = isDST(new Date(), "Europe/London");
const nyParts = toTimezoneParts(new Date(), "America/New_York");Core Functions
DST Detection
import { isDST, isDSTNow } from "timezone-shift";
isDST(date, "Europe/London"); // Check specific timezone
isDSTNow(); // Check current timezoneTime Conversion
import { toTimezoneParts, getCurrentTimezoneParts } from "timezone-shift";
toTimezoneParts(date, timezone); // Convert to timezone parts
getCurrentTimezoneParts(); // Get current timezone partsWorking Hours
import { inWorkingHours, inWorkingHoursNow } from "timezone-shift";
inWorkingHours(date, timezone); // Check business hours
inWorkingHoursNow(); // Check current business hoursDST Transitions
import { dstTransitionDates, nextDstTransition } from "timezone-shift";
dstTransitionDates(2024, "Europe/London"); // Get year's DST dates
nextDstTransition(date, timezone); // Next transitionAuto-Detection
import { getDetectedTimezone, getTimezoneInfo } from "timezone-shift";
const timezone = getDetectedTimezone(); // "Europe/London"
const info = getTimezoneInfo(); // Detailed timezone infoSupported Timezones
Works with any IANA timezone identifier:
Europe/London,America/New_York,Asia/TokyoPacific/Auckland,America/Sao_Paulo,Asia/Kolkata- And 400+ more...
Migration
No breaking changes - all existing code continues to work. New auto-detection functions are optional additions.
License
MIT
