Non-Gregorian calendars (Hebrew, Islamic, Japanese, etc.)

Import

import { ... } from 'ts-time-utils/calendars';

Examples

Calendar Conversions

Convert dates between calendar systems

import {
  toHebrewDate, toIslamicDate, toJapaneseDate,
  toBuddhistDate, toPersianDate, getChineseZodiac
} from 'ts-time-utils/calendars';

const date = new Date('2025-09-14');

// Hebrew calendar
const hebrew = toHebrewDate(date);
console.log(`Hebrew: ${hebrew.year}-${hebrew.month}-${hebrew.day}`);
console.log(`Calendar: ${hebrew.calendar}`);
// { year: 5785, month: 6, day: 11, calendar: 'hebrew' }

// Islamic calendar
const islamic = toIslamicDate(date);
console.log(`Islamic: ${islamic.year}-${islamic.month}-${islamic.day}`);
// { year: 1447, month: 3, day: 11, calendar: 'islamic-umalqura' }

// Japanese calendar (with era)
const japanese = toJapaneseDate(date);
console.log(`Japanese: ${japanese.era} ${japanese.year}`);
// { year: 7, era: 'Reiwa', calendar: 'japanese' }

// Buddhist calendar
const buddhist = toBuddhistDate(date);
console.log(`Buddhist year: ${buddhist.year}`);
// { year: 2568, ... }

// Persian/Jalali calendar
const persian = toPersianDate(date);
console.log(`Persian: ${persian.year}-${persian.month}-${persian.day}`);

// Chinese zodiac
console.log('2024 zodiac:', getChineseZodiac(2024)); // 'Dragon'
console.log('2025 zodiac:', getChineseZodiac(2025)); // 'Snake'