date-fns-hijri/README.md

2.3 KiB

date-fns-hijri

npm version CI License: MIT

date-fns-style functions for Hijri calendar operations. Each function is a pure, stateless utility. Pass a Date, get a result. No classes, no global configuration.

Built on hijri-core. Supports Umm al-Qura (UAQ) and FCNA/ISNA calendar systems.

Installation

pnpm add date-fns-hijri hijri-core

hijri-core is a peer dependency. It provides the underlying calendar engine.

Quick Start

import {
  toHijriDate,
  fromHijriDate,
  formatHijriDate,
  addHijriMonths,
  getHijriMonthName,
} from 'date-fns-hijri';

// Convert Gregorian to Hijri
const hijri = toHijriDate(new Date(2023, 2, 23, 12));
// { hy: 1444, hm: 9, hd: 1 } (1 Ramadan 1444)

// Format with Hijri tokens
const label = formatHijriDate(new Date(2023, 2, 23, 12), 'iD iMMMM iYYYY ioooo');
// '1 Ramadan 1444 AH'

// Add Hijri months
const eid = addHijriMonths(new Date(2023, 2, 23, 12), 1);
// Date in Shawwal 1444

// Get the month name
getHijriMonthName(9); // 'Ramadan'

Documentation

Full API reference, guides, and examples: Wiki

Compatibility

  • Node.js 20, 22, 24
  • ESM and CJS builds included
  • TypeScript definitions bundled
  • Works in browsers and all major bundlers

License

MIT. Copyright (c) 2026 Aric Camarata.