Skip to content

basic usage

github-actions[bot] edited this page May 29, 2026 · 1 revision

Basic Usage Examples

Display today's Hijri date

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

const today = new Date();
const hijri = toHijriDate(today);

if (hijri) {
  const monthName = getHijriMonthName(hijri.hm);
  console.log(`${hijri.hd} ${monthName} ${hijri.hy} AH`);
  // e.g. '1 Ramadan 1444 AH'
}

Convert a known date

import { toHijriDate } from 'date-fns-hijri';

// 1 Ramadan 1444 AH = 23 March 2023 CE
const hijri = toHijriDate(new Date(2023, 2, 23));
console.log(hijri);
// { hy: 1444, hm: 9, hd: 1 }

Build a Gregorian date from Hijri components

import { fromHijriDate } from 'date-fns-hijri';

// First day of Ramadan 1445
const date = fromHijriDate(1445, 9, 1);
console.log(date.toDateString());
// 'Mon Mar 11 2024'

Format for display

import { formatHijriDate } from 'date-fns-hijri';

const date = new Date(2024, 2, 11); // 1 Ramadan 1445
console.log(formatHijriDate(date, 'iD iMMMM iYYYY'));  // '1 Ramadan 1445'
console.log(formatHijriDate(date, 'iDD/iMM/iYYYY'));   // '01/09/1445'
console.log(formatHijriDate(date, 'iD iMMM iYY'));      // '1 Ram 45'

Month name lookup

import { getHijriMonthName } from 'date-fns-hijri';

for (let m = 1; m <= 12; m++) {
  console.log(`${m}: ${getHijriMonthName(m)}`);
}
// 1: Muharram
// 2: Safar
// 3: Rabi al-Awwal
// ...
// 9: Ramadan
// ...
// 12: Dhul Hijjah

Add months

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

// Start at 1 Ramadan 1444
const start = new Date(2023, 2, 23);

// Add 3 months (Ramadan -> Shawwal -> Dhul Qa'dah -> Dhul Hijjah)
const result = addHijriMonths(start, 3);
const hijri = toHijriDate(result);
if (hijri) {
  console.log(`${hijri.hd} ${getHijriMonthName(hijri.hm)} ${hijri.hy}`);
  // '1 Dhul Hijjah 1444'
}

Use the FCNA calendar

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

const opts = { calendar: 'fcna' };
const date = new Date(2023, 2, 23);

const hijri = toHijriDate(date, opts);
const label = formatHijriDate(date, 'iD iMMMM iYYYY', opts);
console.log(label);
// May differ from UAQ by one day around month starts

CommonJS

const { toHijriDate, fromHijriDate, getHijriMonthName } = require('date-fns-hijri');

const hijri = toHijriDate(new Date());
if (hijri) {
  console.log(`Month: ${getHijriMonthName(hijri.hm)}`);
}

Clone this wiki locally