jalaliday
v3.1.1
Published
Persian (Jalali, Khorshidi) Plugin for Day.js
Readme
Jalaliday
Jalaliday is collection of Date utilities for Persian (Jalali, Khorshidi) and Gregorian (UTC) calendars.
jalaliday/dayjsis 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 locale
Unlike moment and becuase of immutablity of dayjs, there is no need for formats likejYYYYorjMM, in Jalaliday all formats are same and standardjalaliday/intlis collection of utilities built on top ofIntl.DateTimeFormatAPI.
Installation
NPM
npm install --save jalalidayYARN
yarn add jalalidayDayjs Usage
import dayjs from 'dayjs'
import jalaliday from 'jalaliday/dayjs'
dayjs.extend(jalaliday)Changing calendar
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 Calendaralso you can create a jalali date without changing default calendar
const date = dayjs()
const jalaliDate = date.calendar('jalali')Parse Date
- Parse Gregory date
const date = dayjs('2018-04-04T16:00:00.000Z');- Parse Jalali date
const date = dayjs('1398-10-17', { jalali: true });Multiple Locale
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'API
All Api operations of Jalaliday is same as Dayjs itself but calendar based, for more information checkout Dayjs API
- API Reference
- Parsing
- Get and Set
- Manipulating
- Displaying
- Format
.format(stringWithTokens: string) - Difference
.diff(compared: Dayjs, unit: string (default: 'milliseconds'), float?: boolean) - Unix Timestamp (milliseconds)
.valueOf() - Unix Timestamp (seconds)
.unix() - Days in the Month
.daysInMonth() - As Javascript Date
.toDate() - As Array
.toArray() - As JSON
.toJSON() - As ISO 8601 String
.toISOString() - As Object
.toObject() - As String
.toString()
- Format
- Query
- Plugin APIs
Intl Usage
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'