Jalaliday is collection of Date utilities for Persian (Jalali, Khorshidi) and Gregorian (UTC) calendars.
jalaliday/dayjs is Persian (Jalali, Khorshidi) Plugin for Day.js, Jalaliday add multi-calendar functionality to Day.js core regardless for of locale, so we can have Gregorian calendar is Persian locale of Jalali calendar in English localejYYYY or jMM, in Jalaliday all formats are same and standardjalaliday/intl is collection of utilities built on top of Intl.DateTimeFormat API.NPM
npm install --save jalaliday
YARN
yarn add jalaliday
import dayjs from 'dayjs'
import jalaliday from 'jalaliday/dayjs'
dayjs.extend(jalaliday)
If you want to all new instanses of dayjs use jalali calendar, you can set default calendar
dayjs.calendar('jalali') // Jalali Calendar
// OR
dayjs.calendar('gregory') // Gregorian Calendar
also you can create a jalali date without changing default calendar
const date = dayjs()
const jalaliDate = date.calendar('jalali')
const date = dayjs('2018-04-04T16:00:00.000Z');
const date = dayjs('1398-10-17', { jalali: true });
with combination of calendar and locale we have multi language for real
dayjs().calendar('jalali').locale('en').format('DD MMMM YYYY') // '13 Shahrivar 1397'
dayjs().calendar('gregory').locale('fa').format('DD MMMM YYYY') // '04 سپتامبر 2018'
All Api operations of Jalaliday is same as Dayjs itself but calendar based, for more information checkout Dayjs API
.format(stringWithTokens: string)
.diff(compared: Dayjs, unit: string (default: 'milliseconds'), float?: boolean).valueOf().unix().daysInMonth().toDate().toArray().toJSON().toISOString().toObject().toString()import { formatDate } from 'jalaliday/intl'
const date = new Date('2025-06-22T10:20:30.000Z')
formatDate(date) // '1404/04/01'
formatDate(date, 'YYYY/MM/DD') // '1404/04/01'
formatDate(date, 'YYYY/MM/DD HH:mm:ss') // '1404/04/01 13:50:30'
formatDate(date, 'YYYY/MM/DD HH:mm:ss') // '1404/04/01 13:50:30'