Jewish Date is a fast and modern 2kb alternative to hebcal with an MIT license.
Jewish Date is a fast and modern 2kB JavaScript library that provides a simple and efficient Gregorian-to-Hebrew and vice versa date converter. With an MIT license and seamless compatibility with all browsers, node.js, and TypeScript, Jewish Date is a reliable and efficient date converter that can help you convert dates between the Hebrew and Gregorian calendars with ease.
- ๐ฆ 2kb mini library (minified & gzip)
- ๐ MIT License
- ๐ง Easy to use
- ๐ป Seamless compatibility with both Node.js and the browser
yarn add jewish-dateOr with npm
npm install jewish-date --saveimport {
toJewishDate,
formatJewishDate,
toHebrewJewishDate,
formatJewishDateInHebrew,
toGregorianDate,
JewishMonth,
} from "jewish-date";
const date = new Date(2023, 4, 9); // the month is 0-indexed (4 = May)
const jewishDate = toJewishDate(date);
console.log(jewishDate); // { year: 5783, monthName: "Iyyar", month: 8, day: 18 }
const jewishDateInEnglish = formatJewishDate(jewishDate);
console.log(jewishDateInEnglish); // 18 Iyyar 5783
// With custom format pattern (similar to date-fns)
const formatted = formatJewishDate(jewishDate, "dd/MM/yyyy");
console.log(formatted); // 18/08/5783
const jewishDateInHebrew = toHebrewJewishDate(jewishDate);
console.log(jewishDateInHebrew); // { day: "ืืดื", monthName: "ืืืืจ", year: "ืืชืฉืคืดื" }
const jewishDateInHebrewStr = formatJewishDateInHebrew(jewishDate);
console.log(jewishDateInHebrewStr); // ืืดื ืืืืจ ืืชืฉืคืดื
// With custom format pattern in Hebrew (gematria)
const formattedHebrew = formatJewishDateInHebrew(jewishDate, "D/MM/YY");
console.log(formattedHebrew); // ืืดื/02/ืคืดื
const date2 = toGregorianDate({
year: 5783,
monthName: JewishMonth.Iyyar,
day: 18,
});
console.log(date2); // Tue May 09 2023 00:00:00 GMT+0300 (Israel Daylight Time)Replace
import {
toJewishDate,
formatJewishDate,
toHebrewJewishDate,
formatJewishDateInHebrew,
toGregorianDate,
JewishMonth,
} from "jewish-date";With
const {
toJewishDate,
formatJewishDate,
toHebrewJewishDate,
formatJewishDateInHebrew,
toGregorianDate,
JewishMonth,
} = require("jewish-date");Both formatJewishDate and formatJewishDateInHebrew accept an optional pattern string as the second argument. The pattern uses tokens similar to date-fns.
| Token | Description | formatJewishDate |
formatJewishDateInHebrew |
|---|---|---|---|
d |
Day (numeric) | 8 | 8 |
dd |
Day (zero-padded) | 08 | 08 |
D |
Day (gematria in Hebrew) | 8 | ืืณ |
M |
Month number | 2 | 2 |
MM |
Month number (padded) | 02 | 02 |
MMMM |
Month name | Iyyar | ืืืืจ |
yy |
Year short (numeric) | 83 | 83 |
YY |
Year short (gematria) | 83 | ืคืดื |
yyyy |
Year full (numeric) | 5783 | 5783 |
YYYY |
Year full (gematria) | 5783 | ืืชืฉืคืดื |
const jewishDate = toJewishDate(new Date(2023, 4, 9)); // 18 Iyyar 5783
// English formatting (default: "d MMMM yyyy")
formatJewishDate(jewishDate); // "18 Iyyar 5783"
formatJewishDate(jewishDate, "dd/MM/yyyy"); // "18/08/5783"
formatJewishDate(jewishDate, "MMMM d, yyyy"); // "Iyyar 18, 5783"
formatJewishDate(jewishDate, "yyyy-MM-dd"); // "5783-08-18"
// Hebrew formatting (default: "D MMMM YYYY")
formatJewishDateInHebrew(jewishDate); // "ืืดื ืืืืจ ืืชืฉืคืดื"
formatJewishDateInHebrew(jewishDate, "D MMMM YYYY"); // "ืืดื ืืืืจ ืืชืฉืคืดื"
formatJewishDateInHebrew(jewishDate, "dd/MM/yyyy"); // "18/08/5783" (numeric)
formatJewishDateInHebrew(jewishDate, "d MMMM yyyy"); // "18 ืืืืจ 5783" (mixed)Jewish Date is licensed under a MIT License.