ummalqura
v1.0.0
Published
Pure math Hijri/Islamic date converter. Part of Adwatak (adwatak.cloud)
Maintainers
Readme
hijri-converter
Pure math Hijri/Islamic ↔ Gregorian date converter.
A lightweight, zero-dependency TypeScript library for converting between the Hijri (Islamic) and Gregorian calendars. No React, no UI — just the math.
Installation
npm install hijri-converterAPI
toHijri(year, month, day) → HijriDate
Convert a Gregorian date to a Hijri date.
import { toHijri } from 'hijri-converter';
toHijri(2025, 3, 1);
// => { y: 1446, m: 8, d: 29 }toGregorian(year, month, day) → GregorianDate
Convert a Hijri date to a Gregorian date.
import { toGregorian } from 'hijri-converter';
toGregorian(1446, 9, 1);
// => { y: 2025, m: 3, d: 1 }getCurrentHijri() → HijriDateResult
Get today's date in the Hijri calendar with formatted display strings.
import { getCurrentHijri } from 'hijri-converter';
const today = getCurrentHijri();
// => {
// y: 1446, m: 9, d: 15,
// monthNameAr: 'رمضان',
// monthNameEn: 'Ramadan',
// displayAr: '15 رمضان 1446 هـ',
// displayEn: 'Ramadan 15, 1446 AH'
// }Constants
import { MONTH_NAMES_AR, MONTH_NAMES_EN } from 'hijri-converter';
MONTH_NAMES_AR; // ['محرم', 'صفر', ...]
MONTH_NAMES_EN; // ['Muharram', 'Safar', ...]Types
interface HijriDate {
y: number; // Hijri year
m: number; // Hijri month (1-12)
d: number; // Hijri day
}
interface GregorianDate {
y: number; // Gregorian year
m: number; // Gregorian month (1-12)
d: number; // Gregorian day
}
interface HijriDateResult extends HijriDate {
monthNameAr: string;
monthNameEn: string;
displayAr: string;
displayEn: string;
}