The Jewish dates toolbox used on https://calj.net.
- Manipulate Jewish and Gregorian dates
- Transform dates between the two calendar systems
- Compute the weekly Parasha
- Compute the dates of the Holidays
The library can be used in Node (both ESM and CommonJS) and in the browser:
import { GDate, HDate, Festival, Parasha } from "@calj.net/jdates";
const { GDate, HDate, Festival, Parasha } = require("@calj.net/jdates");
<script
src="https://cdn.jsdelivr.net/npm/@calj.net/jdates">
</script>
<script>
const {
Festival,
GDate,
HDate,
Parasha,
} = CalJ;
</script>
console.log("This week's Parasha in Israel:",
new HebrewParashaLocalizer().sidra(Parasha.make(
GDate.today(), ParashaScheme.ISRAEL
))
);
const h = HDate.make(GDate.make(9, 2, 2023));
console.log("9 Feb 2023 is: ",
`${h.getDay()} ${h.getMonthName()} ${h.getYear()}`);
const yomKippur = Festival.yomKippur(5780);
const gYomKippur = GDate.make(yomKippur.getStartDate());
console.log("Yom Kippur 5780 is: ", `${gYomKippur}`);
You can instantiate GDate and HDate immutable objects, both extending the JDate
abstract.
-
static GDate.
make(date: Date): GDate
Obtain a Gregorian date from a JavaScript Date instance. -
static GDate.
make(jdate: JDate): GDate
Obtain a Gregorian date from another instance, which may be of class GDate (copy), or HDate (conversion). -
static GDate.
make(day: number, month: number, year: number): GDate
Obtain a GDate instance positionned on the specified Gregorian date elements.
-
static HDate.
make(date: Date): HDate
Obtain a Jewish date from a JavaScript Date instance. -
static HDate.
make(jdate: JDate): HDate
Obtain a Jewish date from another instance, which may be of class HDate (copy), or GDate (conversion). -
static HDate.
make(day: number, month:
HDateMonth, year: number): HDate
Obtain an HDate instance positionned on the specified Jewish date elements.
An enum
of the Jewish months:
{
TISHRI,
CHESHVAN,
KISLEV,
TEVET,
SHVAT,
ADAR,
ADAR2,
NISSAN,
IYAR,
SIVAN,
TAMUZ,
AV,
ELUL,
}
-
.eq
,.lt
,.lte
,.gt
,.gte (other: JDate): boolean
Boolean functions accepting an instance ofJDate
, to check respectively if the argument is==
,<
,<=
,>
,>=
tothis
instance. The comparison is done on the date itself, as a point in time, rather than equality of the objects or any other date components that represent the date in one system or the other.