mirror of
https://github.com/acamarata/date-fns-hijri.git
synced 2026-07-01 03:04:25 +00:00
2.4 KiB
2.4 KiB
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)}`);
}