hebcal-es6
Hebcal, a perpetual Jewish Calendar (ES6)
Installation
$ npm install @hebcal/core
Synopsis
import {hebcal, HDate, Location, Event} from '@hebcal/core';
const options = {
year: 1981,
isHebrewYear: false,
candlelighting: true,
location: Location.lookup('San Francisco'),
sedrot: true,
omer: true,
};
const events = hebcal.hebrewCalendar(options);
for (const ev of events) {
const hd = ev.getDate();
const date = hd.greg();
console.log(date.toLocaleDateString(), ev.render(), hd.toString());
}
Classes
- Event
Represents an Event with a title, date, and flags
- HDate
Class representing a Hebrew date
- HebrewDateEvent
Daily Hebrew date ("11th of Sivan, 5780")
- Zmanim
Class representing halachic times
- Location
Class representing Location
- HavdalahEvent
Havdalah after Shabbat or holiday
- CandleLightingEvent
Candle lighting before Shabbat or holiday
- MoladEvent
Represents a Molad announcement on Shabbat Mevarchim
- OmerEvent
Represents a day 1-49 of counting the Omer from Pesach to Shavuot
- DafYomiEvent
For a Daf Yomi, the name is already translated
attrs.dafyomi.name contains the untranslated string
- Sedra
Represents Parashah HaShavua for an entire Hebrew year
- ParshaEvent
Represents one of 54 weekly Torah portions, always on a Saturday
- HolidayEvent
Represents a built-in holiday like Pesach, Purim or Tu BiShvat
- RoshChodeshEvent
Represents Rosh Chodesh, the beginning of a new month
- MevarchimChodeshEvent
Represents Mevarchim haChodesh, the announcement of the new month
Objects
- common :
object
Hebrew date utility functions.
- greg :
object
Gregorian date helper functions.
- locale :
object
A locale in Hebcal is used for translations/transliterations of
holidays. @hebcal/core supports three locales by default
en
- default, Sephardic transliterations (e.g. "Shabbat")ashkenazi
- Ashkenazi transliterations (e.g. "Shabbos")he
- Hebrew (e.g. "שַׁבָּת")
- dafyomi :
object
Low-level interface to Daf Yomi.
- holidays :
object
Lower-level holidays interface, which returns a set of Events that must be
filtered especially for flags.IL_ONLY
or flags.CHUL_ONLY
depending on
Israel vs. Diaspora holiday scheme.
- hebcal :
object
Main interface to Hebcal
Constants
- parshiot
The 54 parshiyot of the Torah as transilterated strings
parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[53] == 'Ha'Azinu'.
Typedefs
- SimpleHebrewDate :
Object
A simple Hebrew date object with numeric fields yy
, mm
, and dd
- Molad :
Object
Represents a Molad
- DafYomiResult :
Object
A Daf Yomi result
- HebcalOptions :
Object
Options to configure which events are returned
Event
Represents an Event with a title, date, and flags
Kind: global class
new Event(date, desc, [mask], [attrs])
Constructs Event
Param | Type | Default | Description |
---|
date | HDate | | Hebrew date event occurs |
desc | string | | Description (not translated) |
[mask] | number | 0 | optional holiday flags |
[attrs] | Object | {} | |
event.getFlags() ⇒ number
Kind: instance method of Event
event.getAttrs() ⇒ Object
Kind: instance method of Event
event.observedInIsrael() ⇒ boolean
Is this event observed in Israel?
Kind: instance method of Event
event.observedInDiaspora() ⇒ boolean
Is this event observed in the Diaspora?
Kind: instance method of Event
event.render([locale]) ⇒ string
Returns (translated) description of this event
Kind: instance method of Event
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
event.renderBrief([locale]) ⇒ string
Returns a brief (translated) description of this event.
For most events, this is the same as render(). For some events, it procudes
a shorter text (e.g. without a time or added description).
Kind: instance method of Event
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
event.getDesc() ⇒ string
Returns untranslated description of this event
Kind: instance method of Event
event.basename() ⇒ string
Returns a simplified (untranslated) description for this event. For example,
"Erev Pesach" => "Pesach", and "Sukkot III (CH''M)" => "Sukkot".
For many holidays the basename and the event description are the same.
Kind: instance method of Event
event.getDate() ⇒ HDate
Returns Hebrew date of this event
Kind: instance method of Event
event.url() ⇒ string
Kind: instance method of Event
HDate
Class representing a Hebrew date
Kind: global class
new HDate([day], [month], [year])
Create a Hebrew date. There are 3 basic forms for the HDate()
constructor.
- No parameters - represents the current Hebrew date at time of instantiation
- One parameter
Date
- represents the Hebrew date corresponding to the Gregorian date using
local time. Hours, minutes, seconds and milliseconds are ignored.HDate
- clones a copy of the given Hebrew datenumber
- Converts absolute Julian days to Hebrew date. The absolute Julian
date is the number of days elapsed since the (imaginary) Gregorian date
Sunday, December 31, 1 BC
- Three parameters: Hebrew day, Hebrew month, Hebrew year. Hebrew day should
be a number between 1-30, Hebrew month can be a number or string, and
Hebrew year is always a number.
Param | Type | Description |
---|
[day] | number | Date | HDate | Day of month (1-30) if a number . If a Date is specified, represents the Hebrew date corresponding to the Gregorian date using local time. If an HDate is specified, clones a copy of the given Hebrew date. |
[month] | number | string | Hebrew month of year (1=NISAN, 7=TISHREI) |
[year] | number | Hebrew year |
Example
import {HDate, common} from '@hebcal/core';
const hd1 = new HDate();
const hd2 = new HDate(new Date(2008, 10, 13));
const hd3 = new HDate(15, 'Cheshvan', 5769);
const hd4 = new HDate(15, common.months.CHESHVAN, 5769);
const hd5 = new HDate(733359);
const monthName = 'אייר';
const hd6 = new HDate(5, monthName, 5773);
hDate.getFullYear() ⇒ number
Gets the Hebrew year of this Hebrew date
Kind: instance method of HDate
hDate.isLeapYear() ⇒ boolean
Tests if this date occurs during a leap year
Kind: instance method of HDate
hDate.getMonth() ⇒ number
Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
Kind: instance method of HDate
hDate.getTishreiMonth() ⇒ number
The Tishrei-based month of the date. 1 is Tishrei, 7 is Nisan, 13 is Elul in a leap year
Kind: instance method of HDate
hDate.daysInMonth() ⇒ number
Number of days in the month of this Hebrew date
Kind: instance method of HDate
hDate.getDate() ⇒ number
Gets the day within the month (1-30)
Kind: instance method of HDate
hDate.getDay() ⇒ number
Gets the day of the week, using local time. 0=Sunday, 6=Saturday
Kind: instance method of HDate
hDate.setFullYear(year) ⇒ HDate
Sets the year of the date. Returns the object it was called upon.
Kind: instance method of HDate
hDate.setMonth(month) ⇒ HDate
Sets the day of the month of the date. Returns the object it was called upon
Kind: instance method of HDate
hDate.setTishreiMonth(month) ⇒ HDate
Sets the Tishrei-based month of the date. Returns the object it was called upon
Kind: instance method of HDate
hDate.setDate(date) ⇒ HDate
Kind: instance method of HDate
hDate.greg() ⇒ Date
Converts to Gregorian date
Kind: instance method of HDate
hDate.abs() ⇒ number
Returns Julian absolute days
Kind: instance method of HDate
hDate.getMonthName() ⇒ string
Returns a transliterated Hebrew month name, e.g. 'Elul'
or 'Cheshvan'
.
Kind: instance method of HDate
hDate.render([locale]) ⇒ string
Renders this Hebrew date as a translated or transliterated string,
including ordinal e.g. '15th of Cheshvan, 5769'
.
Kind: instance method of HDate
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
Example
import {HDate, common} from '@hebcal/core';
const hd = new HDate(15, common.months.CHESHVAN, 5769);
console.log(hd.render());
console.log(hd.render('he'));
hDate.renderGematriya() ⇒ string
Renders this Hebrew date in Hebrew gematriya, regardless of locale.
Kind: instance method of HDate
Example
import {HDate, common} from '@hebcal/core';
const hd = new HDate(15, common.months.CHESHVAN, 5769);
console.log(ev.renderGematriya());
hDate.before(day) ⇒ HDate
Returns an HDate
representing the a dayNumber before the current date.
Sunday=0, Saturday=6
Kind: instance method of HDate
Param | Type | Description |
---|
day | number | day of week |
Example
new HDate(new Date('Wednesday February 19, 2014')).before(6).greg()
hDate.onOrBefore(dow) ⇒ HDate
Returns an HDate
representing the a dayNumber on or before the current date.
Sunday=0, Saturday=6
Kind: instance method of HDate
Param | Type | Description |
---|
dow | number | day of week |
Example
new HDate(new Date('Wednesday February 19, 2014')).onOrBefore(6).greg()
new HDate(new Date('Saturday February 22, 2014')).onOrBefore(6).greg()
new HDate(new Date('Sunday February 23, 2014')).onOrBefore(6).greg()
hDate.nearest(dow) ⇒ HDate
Returns an HDate
representing the nearest dayNumber to the current date
Sunday=0, Saturday=6
Kind: instance method of HDate
Param | Type | Description |
---|
dow | number | day of week |
Example
new HDate(new Date('Wednesday February 19, 2014')).nearest(6).greg()
new HDate(new Date('Tuesday February 18, 2014')).nearest(6).greg()
hDate.onOrAfter(dow) ⇒ HDate
Returns an HDate
representing the a dayNumber on or after the current date.
Sunday=0, Saturday=6
Kind: instance method of HDate
Param | Type | Description |
---|
dow | number | day of week |
Example
new HDate(new Date('Wednesday February 19, 2014')).onOrAfter(6).greg()
new HDate(new Date('Saturday February 22, 2014')).onOrAfter(6).greg()
new HDate(new Date('Sunday February 23, 2014')).onOrAfter(6).greg()
hDate.after(day) ⇒ HDate
Returns an HDate
representing the a dayNumber after the current date.
Sunday=0, Saturday=6
Kind: instance method of HDate
Param | Type | Description |
---|
day | number | day of week |
Example
new HDate(new Date('Wednesday February 19, 2014')).after(6).greg()
new HDate(new Date('Saturday February 22, 2014')).after(6).greg()
new HDate(new Date('Sunday February 23, 2014')).after(6).greg()
hDate.next() ⇒ HDate
Returns the next Hebrew date
Kind: instance method of HDate
hDate.prev() ⇒ HDate
Returns the previous Hebrew date
Kind: instance method of HDate
hDate.isSameDate(other) ⇒ boolean
Compares this date to another date, returning true
if the dates match.
Kind: instance method of HDate
Param | Type | Description |
---|
other | HDate | Hebrew date to compare |
hDate.toString() ⇒ string
Kind: instance method of HDate
HebrewDateEvent
Daily Hebrew date ("11th of Sivan, 5780")
Kind: global class
new HebrewDateEvent(date)
hebrewDateEvent.render([locale]) ⇒ string
Kind: instance method of HebrewDateEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
Example
import {HDate, HebrewDateEvent, common} from '@hebcal/core';
const hd = new HDate(15, common.months.CHESHVAN, 5769);
const ev = new HebrewDateEvent(hd);
console.log(ev.render());
console.log(ev.render('he'));
HebrewDateEvent.renderHebrew(day, monthName, fullYear) ⇒ string
Helper function to render a Hebrew date
Kind: static method of HebrewDateEvent
Param | Type |
---|
day | number |
monthName | string |
fullYear | number |
Zmanim
Class representing halachic times
Kind: global class
new Zmanim(date, latitude, longitude)
Initialize a Zmanim instance.
Param | Type | Description |
---|
date | Date | HDate | Regular or Hebrew Date. If date is a regular Date , hours, minutes, seconds and milliseconds are ignored. |
latitude | number | |
longitude | number | |
zmanim.suntime() ⇒ suncalc.GetTimesResult
Kind: instance method of Zmanim
zmanim.sunrise() ⇒ Date
Kind: instance method of Zmanim
zmanim.sunset() ⇒ Date
Kind: instance method of Zmanim
zmanim.hour() ⇒ number
Kind: instance method of Zmanim
zmanim.hourMins() ⇒ number
Kind: instance method of Zmanim
zmanim.gregEve() ⇒ Date
Kind: instance method of Zmanim
zmanim.nightHour() ⇒ number
Kind: instance method of Zmanim
zmanim.nightHourMins() ⇒ number
Kind: instance method of Zmanim
zmanim.hourOffset(hours) ⇒ Date
Kind: instance method of Zmanim
zmanim.chatzot() ⇒ Date
Kind: instance method of Zmanim
zmanim.chatzotNight() ⇒ Date
Kind: instance method of Zmanim
zmanim.alotHaShachar() ⇒ Date
Kind: instance method of Zmanim
zmanim.misheyakir() ⇒ Date
Kind: instance method of Zmanim
zmanim.misheyakirMachmir() ⇒ Date
Kind: instance method of Zmanim
zmanim.sofZmanShma() ⇒ Date
Kind: instance method of Zmanim
zmanim.sofZmanTfilla() ⇒ Date
Kind: instance method of Zmanim
zmanim.minchaGedola() ⇒ Date
Kind: instance method of Zmanim
zmanim.minchaKetana() ⇒ Date
Kind: instance method of Zmanim
zmanim.plagHaMincha() ⇒ Date
Kind: instance method of Zmanim
zmanim.tzeit() ⇒ Date
Kind: instance method of Zmanim
zmanim.neitzHaChama() ⇒ Date
Kind: instance method of Zmanim
zmanim.shkiah() ⇒ Date
Kind: instance method of Zmanim
Location
Class representing Location
Kind: global class
new Location(latitude, longitude, il, tzid, cityName, countryCode, geoid)
Initialize a Location instance
Param | Type | Description |
---|
latitude | number | Latitude as a decimal, valid range -90 thru +90 (e.g. 41.85003) |
longitude | number | Longitude as a decimal, valid range -180 thru +180 (e.g. -87.65005) |
il | boolean | in Israel (true) or Diaspora (false) |
tzid | string | Olson timezone ID, e.g. "America/Chicago" |
cityName | string | optional descriptive city name |
countryCode | string | ISO 3166 alpha-2 country code (e.g. "FR") |
geoid | string | optional string or numeric geographic ID |
location.getLatitude() ⇒ number
Kind: instance method of Location
location.getLongitude() ⇒ number
Kind: instance method of Location
location.getIsrael() ⇒ boolean
Kind: instance method of Location
location.getName() ⇒ string
Kind: instance method of Location
location.getShortName() ⇒ string
Returns the location name, up to the first comma
Kind: instance method of Location
location.getCountryCode() ⇒ string
Kind: instance method of Location
location.getTzid() ⇒ string
Kind: instance method of Location
location.getGeoId() ⇒ string
Kind: instance method of Location
location.sunset(hdate) ⇒ Date
Kind: instance method of Location
Param | Type |
---|
hdate | Date | HDate |
location.tzeit(hdate) ⇒ Date
Kind: instance method of Location
Param | Type |
---|
hdate | Date | HDate |
location.toString() ⇒ string
Kind: instance method of Location
Location.lookup(name) ⇒ Location
Creates a location object from one of 60 "classic" Hebcal city names.
The following city names are supported:
'Ashdod', 'Atlanta', 'Austin', 'Baghdad', 'Beer Sheva',
'Berlin', 'Baltimore', 'Bogota', 'Boston', 'Budapest',
'Buenos Aires', 'Buffalo', 'Chicago', 'Cincinnati', 'Cleveland',
'Dallas', 'Denver', 'Detroit', 'Eilat', 'Gibraltar', 'Haifa',
'Hawaii', 'Helsinki', 'Houston', 'Jerusalem', 'Johannesburg',
'Kiev', 'La Paz', 'Livingston', 'Las Vegas', 'London', 'Los Angeles',
'Marseilles', 'Miami', 'Minneapolis', 'Melbourne', 'Mexico City',
'Montreal', 'Moscow', 'New York', 'Omaha', 'Ottawa', 'Panama City',
'Paris', 'Pawtucket', 'Petach Tikvah', 'Philadelphia', 'Phoenix',
'Pittsburgh', 'Providence', 'Portland', 'Saint Louis', 'Saint Petersburg',
'San Diego', 'San Francisco', 'Sao Paulo', 'Seattle', 'Sydney',
'Tel Aviv', 'Tiberias', 'Toronto', 'Vancouver', 'White Plains',
'Washington DC', 'Worcester'
Kind: static method of Location
Location.legacyTzToTzid(tz, dst) ⇒ string
Converts legacy Hebcal timezone to a standard Olson tzid.
Kind: static method of Location
Param | Type | Description |
---|
tz | number | integer, GMT offset in hours |
dst | string | 'none', 'eu', 'usa', or 'israel' |
Location.getUsaTzid(state, tz, dst) ⇒ string
Converts timezone info from Zip-Codes.com to a standard Olson tzid.
Kind: static method of Location
Param | Type | Description |
---|
state | string | two-letter all-caps US state abbreviation like 'CA' |
tz | number | positive number, 5=America/New_York, 8=America/Los_Angeles |
dst | string | single char 'Y' or 'N' |
Example
Location.getUsaTzid('AZ', 7, 'Y')
Location.geonameCityDescr(cityName, admin1, countryName) ⇒ string
Builds a city description from geonameid string components
Kind: static method of Location
Param | Type | Description |
---|
cityName | string | e.g. 'Tel Aviv' or 'Chicago' |
admin1 | string | e.g. 'England' or 'Massachusetts' |
countryName | string | full country name, e.g. 'Israel' or 'United States' |
HavdalahEvent
Havdalah after Shabbat or holiday
Kind: global class
new HavdalahEvent(date, mask, attrs, [havdalahMins])
Param | Type |
---|
date | HDate |
mask | number |
attrs | Object |
[havdalahMins] | number |
havdalahEvent.render([locale]) ⇒ string
Kind: instance method of HavdalahEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
havdalahEvent.renderBrief([locale]) ⇒ string
Returns translation of "Havdalah" without the time.
Kind: instance method of HavdalahEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
CandleLightingEvent
Candle lighting before Shabbat or holiday
Kind: global class
new CandleLightingEvent(date, mask, attrs)
Param | Type |
---|
date | HDate |
mask | number |
attrs | Object |
candleLightingEvent.render([locale]) ⇒ string
Kind: instance method of CandleLightingEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
candleLightingEvent.renderBrief([locale]) ⇒ string
Returns translation of "Candle lighting" without the time.
Kind: instance method of CandleLightingEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
MoladEvent
Represents a Molad announcement on Shabbat Mevarchim
Kind: global class
new MoladEvent(date, hyear, hmonth)
Param | Type | Description |
---|
date | HDate | Hebrew date event occurs |
hyear | number | molad year |
hmonth | number | molad month |
moladEvent.render([locale]) ⇒ string
Kind: instance method of MoladEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
OmerEvent
Represents a day 1-49 of counting the Omer from Pesach to Shavuot
Kind: global class
new OmerEvent(date, omerDay)
Param | Type |
---|
date | HDate |
omerDay | number |
omerEvent.render([locale]) ⇒ string
Kind: instance method of OmerEvent
Todo
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
omerEvent.renderBrief([locale]) ⇒ string
Returns translation of "Omer 22" without ordinal numbers.
Kind: instance method of OmerEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
DafYomiEvent
For a Daf Yomi, the name is already translated
attrs.dafyomi.name contains the untranslated string
Kind: global class
new DafYomiEvent(date, daf)
dafYomiEvent.render([locale]) ⇒ string
Returns Daf Yomi name including the 'Daf Yomi: ' prefix (e.g. "Daf Yomi: Pesachim 107").
Kind: instance method of DafYomiEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
dafYomiEvent.renderBrief([locale]) ⇒ string
Returns Daf Yomi name without the 'Daf Yomi: ' prefix (e.g. "Pesachim 107").
Kind: instance method of DafYomiEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
dafYomiEvent.url() ⇒ string
Returns a link to sefaria.org or dafyomi.org
Kind: instance method of DafYomiEvent
Sedra
Represents Parashah HaShavua for an entire Hebrew year
Kind: global class
new Sedra(hebYr, il)
Caculates the Parashah HaShavua for an entire Hebrew year
Param | Type | Description |
---|
hebYr | number | Hebrew year (e.g. 5749) |
il | boolean | Use Israel sedra schedule (false for Diaspora) |
sedra.get(hDate) ⇒ Array.<string>
Returns the parsha (or parshiyot) read on Hebrew date
Kind: instance method of Sedra
Param | Type | Description |
---|
hDate | HDate | number | Hebrew date or absolute days |
sedra.getString(hDate) ⇒ string
Looks up parsha for the date, then returns a (translated) string
Kind: instance method of Sedra
Param | Type | Description |
---|
hDate | HDate | number | Hebrew date or absolute days |
sedra.lookup(hDate) ⇒ Object
Returns an object describing the parsha on the first Saturday on or after absdate
Kind: instance method of Sedra
Param | Type | Description |
---|
hDate | HDate | number | Hebrew date or absolute days |
sedra.isParsha(hDate) ⇒ boolean
Checks to see if this day would be a regular parasha HaShavua
Torah reading or special holiday reading
Kind: instance method of Sedra
Param | Type | Description |
---|
hDate | HDate | number | Hebrew date or absolute days |
sedra.getSedraArray() ⇒ Array.<Object>
Kind: instance method of Sedra
sedra.getYear() ⇒ number
Kind: instance method of Sedra
ParshaEvent
Represents one of 54 weekly Torah portions, always on a Saturday
Kind: global class
new ParshaEvent(date, parsha)
Param | Type | Description |
---|
date | HDate | |
parsha | Array.<string> | untranslated name of single or double parsha, such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim'] |
parshaEvent.render([locale]) ⇒ string
Kind: instance method of ParshaEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (i.e: 'he' , 'fr' ). Defaults to active locale. |
parshaEvent.basename() ⇒ string
Kind: instance method of ParshaEvent
parshaEvent.url() ⇒ string
Kind: instance method of ParshaEvent
HolidayEvent
Represents a built-in holiday like Pesach, Purim or Tu BiShvat
Kind: global class
new HolidayEvent(date, desc, [mask], [attrs])
Constructs Holiday event
Param | Type | Default | Description |
---|
date | HDate | | Hebrew date event occurs |
desc | string | | Description (not translated) |
[mask] | number | 0 | optional holiday flags |
[attrs] | Object | {} | |
holidayEvent.basename() ⇒ string
Kind: instance method of HolidayEvent
holidayEvent.renderFullOrBasename(locale) ⇒ string
Kind: instance method of HolidayEvent
holidayEvent.url() ⇒ string
Kind: instance method of HolidayEvent
RoshChodeshEvent
Represents Rosh Chodesh, the beginning of a new month
Kind: global class
new RoshChodeshEvent(date, monthName)
Constructs Rosh Chodesh event
Param | Type | Description |
---|
date | HDate | Hebrew date event occurs |
monthName | string | Hebrew month name (not translated) |
roshChodeshEvent.render([locale]) ⇒ string
Returns (translated) description of this event
Kind: instance method of RoshChodeshEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
roshChodeshEvent.basename() ⇒ string
Kind: instance method of RoshChodeshEvent
MevarchimChodeshEvent
Represents Mevarchim haChodesh, the announcement of the new month
Kind: global class
new MevarchimChodeshEvent(date, monthName)
Constructs Mevarchim haChodesh event
Param | Type | Description |
---|
date | HDate | Hebrew date event occurs |
monthName | string | Hebrew month name (not translated) |
mevarchimChodeshEvent.render([locale]) ⇒ string
Returns (translated) description of this event
Kind: instance method of MevarchimChodeshEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
mevarchimChodeshEvent.renderBrief([locale]) ⇒ string
Returns (translated) description of this event
Kind: instance method of MevarchimChodeshEvent
Param | Type | Description |
---|
[locale] | string | Optional locale name (defaults to active locale). |
common : object
Hebrew date utility functions.
Kind: global namespace
common.monthNames
Transliterations of Hebrew month names.
Regular years are index 0 and leap years are index 1.
Kind: static property of common
Read only: true
Example
common.monthNames[0][common.months.ADAR_I]
common.monthNames[1][common.months.ADAR_I]
common.monthNames[1][common.months.ADAR_II]
common.months : enum
Hebrew months of the year (NISAN=1, TISHREI=7)
Kind: static enum of common
Read only: true
Properties
Name | Type | Default | Description |
---|
NISAN | number | 1 | Nissan / ניסן |
IYYAR | number | 2 | Iyyar / אייר |
SIVAN | number | 3 | Sivan / סיון |
TAMUZ | number | 4 | Tamuz (sometimes Tammuz) / תמוז |
AV | number | 5 | Av / אב |
ELUL | number | 6 | Elul / אלול |
TISHREI | number | 7 | Tishrei / תִשְׁרֵי |
CHESHVAN | number | 8 | Cheshvan / חשון |
KISLEV | number | 9 | Kislev / כסלו |
TEVET | number | 10 | Tevet / טבת |
SHVAT | number | 11 | Sh'vat / שבט |
ADAR_I | number | 12 | Adar or Adar Rishon / אדר |
ADAR_II | number | 13 | Adar Sheini (only on leap years) / אדר ב׳ |
common.days : enum
Days of the week (SUN=0, SAT=6)
Kind: static enum of common
Read only: true
Properties
Name | Type | Default | Description |
---|
SUN | number | 0 | Sunday |
MON | number | 1 | Monday |
TUE | number | 2 | Tuesday |
WED | number | 3 | Wednesday |
THU | number | 4 | Thursday |
FRI | number | 5 | Friday |
SAT | number | 6 | Saturday |
common.hebLeapYear(year) ⇒ boolean
Returns true if Hebrew year is a leap year
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.monthsInHebYear(year) ⇒ number
Number of months in this Hebrew year (either 12 or 13 depending on leap year)
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.daysInHebMonth(month, year) ⇒ number
Number of days in Hebrew month in a given year (29 or 30)
Kind: static method of common
Param | Type | Description |
---|
month | number | Hebrew month (e.g. months.TISHREI) |
year | number | Hebrew year |
common.getMonthName(month, year) ⇒ string
Returns a transliterated string name of Hebrew month in year,
for example 'Elul' or 'Cheshvan'.
Kind: static method of common
Param | Type | Description |
---|
month | number | Hebrew month (e.g. months.TISHREI) |
year | number | Hebrew year |
common.monthNum(month) ⇒ number
Returns the Hebrew month number (NISAN=1, TISHREI=7)
Kind: static method of common
Param | Type | Description |
---|
month | number | string | A number, or Hebrew month name string |
common.hebElapsedDays(year) ⇒ number
Days from sunday prior to start of Hebrew calendar to mean
conjunction of Tishrei in Hebrew YEAR
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.daysInYear(year) ⇒ number
Number of days in the hebrew YEAR
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.longCheshvan(year) ⇒ boolean
true if Cheshvan is long in Hebrew year
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.shortKislev(year) ⇒ boolean
true if Kislev is short in Hebrew year
Kind: static method of common
Param | Type | Description |
---|
year | number | Hebrew year |
common.monthFromName(c) ⇒ number
Converts Hebrew month string name to numeric
Kind: static method of common
Param | Type | Description |
---|
c | string | monthName |
common.dayOnOrBefore(dayOfWeek, absdate) ⇒ number
Note: Applying this function to d+6 gives us the DAYNAME on or after an
absolute day d. Similarly, applying it to d+3 gives the DAYNAME nearest to
absolute date d, applying it to d-1 gives the DAYNAME previous to absolute
date d, and applying it to d+7 gives the DAYNAME following absolute date d.
Kind: static method of common
Param | Type |
---|
dayOfWeek | number |
absdate | number |
greg : object
Gregorian date helper functions.
Kind: global namespace
greg.monthNames
Long names of the Gregorian months (1='January', 12='December')
Kind: static property of greg
Read only: true
greg.gregLeapYear(year) ⇒ boolean
Returns true if the Gregorian year is a leap year
Kind: static method of greg
Param | Type | Description |
---|
year | number | Gregorian year |
greg.daysInGregMonth(month, year) ⇒ number
Number of days in the Gregorian month for given year
Kind: static method of greg
Param | Type | Description |
---|
month | number | Gregorian month (1=January, 12=December) |
year | number | Gregorian year |
greg.dayOfYear(date) ⇒ number
Returns number of days since January 1 of that year
Kind: static method of greg
Param | Type | Description |
---|
date | Date | Gregorian date |
greg.greg2abs(date) ⇒ number
Converts Gregorian date to Julian Day Count
Kind: static method of greg
Param | Type | Description |
---|
date | Date | Gregorian date |
greg.abs2greg(theDate) ⇒ Date
Converts from Julian Day Count to Gregorian date.
See the footnote on page 384 of ``Calendrical Calculations, Part II:
Three Historical Calendars'' by E. M. Reingold, N. Dershowitz, and S. M.
Clamen, Software--Practice and Experience, Volume 23, Number 4
(April, 1993), pages 383-404 for an explanation.
Kind: static method of greg
Param | Type | Description |
---|
theDate | number | absolute Julian days |
locale : object
A locale in Hebcal is used for translations/transliterations of
holidays. @hebcal/core supports three locales by default
en
- default, Sephardic transliterations (e.g. "Shabbat")ashkenazi
- Ashkenazi transliterations (e.g. "Shabbos")he
- Hebrew (e.g. "שַׁבָּת")
Kind: global namespace
locale.lookupTranslation(id, [locale]) ⇒ string
Returns translation only if locale
offers a non-empty translation for id
.
Otherwise, returns undefined
.
Kind: static method of locale
Param | Type | Description |
---|
id | string | Message ID to translate |
[locale] | string | Optional locale name (i.e: 'he' , 'fr' ). Defaults to active locale. |
locale.gettext(id, [locale]) ⇒ string
By default, if no translation was found, returns id
.
Kind: static method of locale
Param | Type | Description |
---|
id | string | Message ID to translate |
[locale] | string | Optional locale name (i.e: 'he' , 'fr' ). Defaults to active locale. |
locale.addLocale(locale, data)
Register locale translations.
Kind: static method of locale
Param | Type | Description |
---|
locale | string | Locale name (i.e.: 'he' , 'fr' ) |
data | LocaleDate | parsed data from a .po file. |
locale.useLocale(locale) ⇒ LocaleData
Activates a locale. Throws an error if the locale has not been previously added.
After setting the locale to be used, all strings marked for translations
will be represented by the corresponding translation in the specified locale.
Kind: static method of locale
Param | Type | Description |
---|
locale | string | Locale name (i.e: 'he' , 'fr' ) |
locale.getLocaleName() ⇒ string
Returns the name of the active locale (i.e. 'he', 'ashkenazi', 'fr')
Kind: static method of locale
locale.ordinal(n) ⇒ string
Kind: static method of locale
locale.hebrewStripNikkud(str) ⇒ string
Removes nekudot from Hebrew string
Kind: static method of locale
dafyomi : object
Low-level interface to Daf Yomi.
Kind: global namespace
dafyomi.dafyomi(gregdate) ⇒ DafYomiResult
Returns the Daf Yomi for given date
Kind: static method of dafyomi
Returns: DafYomiResult
- Tractact name and page number
Param | Type | Description |
---|
gregdate | Date | Gregorian date |
dafyomi.dafname(daf, [locale]) ⇒ string
Formats (with translation) the dafyomi result as a string like "Pesachim 34"
Kind: static method of dafyomi
Param | Type | Description |
---|
daf | DafYomiResult | the Daf Yomi |
[locale] | string | Optional locale name (defaults to active locale). |
holidays : object
Lower-level holidays interface, which returns a set of Events that must be
filtered especially for flags.IL_ONLY
or flags.CHUL_ONLY
depending on
Israel vs. Diaspora holiday scheme.
Kind: global namespace
holidays.getHolidaysForYear(year) ⇒ Map.<string, Array.<Event>>
Returns a Map for the year indexed by HDate.toString()
Kind: static method of holidays
Param | Type | Description |
---|
year | number | Hebrew year |
holidays.getHolidaysOnDate(date) ⇒ Array.<Event>
Returns an array of Events on this date (or undefined if no events)
Kind: static method of holidays
Param | Type | Description |
---|
date | HDate | Date | number | Hebrew Date, Gregorian date, or absolute Julian date |
hebcal : object
Main interface to Hebcal
Kind: global namespace
hebcal.hebrewCalendar([options]) ⇒ Array.<Event>
Generates a list of holidays and other hebrew date events based on options
.
This is the main interface to the @hebcal/core
library, and can be used to
retrieve holidays, rosh chodesh, candle lighting & havdalah times,
Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
Event names can be rendered in several languges using the locale
option.
Kind: static method of hebcal
hebcal.getBirthdayOrAnniversary(hyear, gdate) ⇒ HDate
Calculates a birthday or anniversary (non-yahrzeit).
hyear
must be after original gdate
of anniversary.
Returns undefined
when requested year preceeds or is same as original year.
Hebcal uses the algorithm defined in "Calendrical Calculations"
by Edward M. Reingold and Nachum Dershowitz.
The birthday of someone born in Adar of an ordinary year or Adar II of
a leap year is also always in the last month of the year, be that Adar
or Adar II. The birthday in an ordinary year of someone born during the
first 29 days of Adar I in a leap year is on the corresponding day of Adar;
in a leap year, the birthday occurs in Adar I, as expected.
Someone born on the thirtieth day of Marcheshvan, Kislev, or Adar I
has his birthday postponed until the first of the following month in
years where that day does not occur. [Calendrical Calculations p. 111]
Kind: static method of hebcal
Returns: HDate
- anniversary occurring in hyear
Param | Type | Description |
---|
hyear | number | Hebrew year |
gdate | Date | HDate | Gregorian or Hebrew date of event |
Example
import {hebcal} from '@hebcal/core';
const dt = new Date(2014, 2, 2);
const hd = hebcal.getBirthdayOrAnniversary(5780, dt);
console.log(hd.greg().toLocaleDateString('en-US'));
hebcal.getYahrzeit(hyear, gdate) ⇒ HDate
Calculates yahrzeit.
hyear
must be after original gdate
of death.
Returns undefined
when requested year preceeds or is same as original year.
Hebcal uses the algorithm defined in "Calendrical Calculations"
by Edward M. Reingold and Nachum Dershowitz.
The customary anniversary date of a death is more complicated and depends
also on the character of the year in which the first anniversary occurs.
There are several cases:
- If the date of death is Marcheshvan 30, the anniversary in general depends
on the first anniversary; if that first anniversary was not Marcheshvan 30,
use the day before Kislev 1.
- If the date of death is Kislev 30, the anniversary in general again depends
on the first anniversary — if that was not Kislev 30, use the day before
Tevet 1.
- If the date of death is Adar II, the anniversary is the same day in the
last month of the Hebrew year (Adar or Adar II).
- If the date of death is Adar I 30, the anniversary in a Hebrew year that
is not a leap year (in which Adar only has 29 days) is the last day in
Shevat.
- In all other cases, use the normal (that is, same month number) anniversary
of the date of death. [Calendrical Calculations p. 113]
Kind: static method of hebcal
Returns: HDate
- anniversary occurring in hyear
Param | Type | Description |
---|
hyear | number | Hebrew year |
gdate | Date | HDate | Gregorian or Hebrew date of death |
Example
import {hebcal} from '@hebcal/core';
const dt = new Date(2014, 2, 2);
const hd = hebcal.getYahrzeit(5780, dt);
console.log(hd.greg().toLocaleDateString('en-US'));
hebcal.hebrew2abs(d) ⇒ number
Converts Hebrew date to absolute Julian days.
The absolute date is the number of days elapsed since the (imaginary)
Gregorian date Sunday, December 31, 1 BC.
Kind: static method of hebcal
Converts absolute Julian days to Hebrew date
Kind: static method of hebcal
Param | Type | Description |
---|
d | number | absolute Julian days |
hebcal.getMolad(year, month) ⇒ Molad
Calculates the molad for a Hebrew month
Kind: static method of hebcal
Param | Type |
---|
year | number |
month | number |
hebcal.makeAnchor(s) ⇒ string
Helper function to transform a string to make it more usable in a URL or filename.
Converts to lowercase and replaces non-word characters with hyphen ('-').
Kind: static method of hebcal
Example
hebcal.makeAnchor('Rosh Chodesh Adar II')
hebcal.reformatTimeStr(timeStr, suffix, options) ⇒ string
Helper function to format a 23-hour (00:00-23:59) time in US format ("8:13pm") or
keep as "20:13" for any other locale/country. Uses HebcalOptions
to determine
locale.
Kind: static method of hebcal
Param | Type | Description |
---|
timeStr | string | original time like "20:30" |
suffix | string | "p" or "pm" or " P.M.". Add leading space if you want it |
options | HebcalOptions | |
hebcal.registerLocation(cityName, location) ⇒ boolean
Adds a location name for Location.lookup()
only if the name isn't
already being used. Returns false
if the name is already taken
and true
if successfully added.
Kind: static method of hebcal
flags : enum
Holiday flags for Event
Kind: global enum
Read only: true
Properties
Name | Type | Default | Description |
---|
CHAG | number | CHAG | Chag, yontiff, yom tov |
LIGHT_CANDLES | number | LIGHT_CANDLES | Light candles 18 minutes before sundown |
YOM_TOV_ENDS | number | YOM_TOV_ENDS | End of holiday (end of Yom Tov) |
CHUL_ONLY | number | CHUL_ONLY | Observed only in the Diaspora (chutz l'aretz) |
IL_ONLY | number | IL_ONLY | Observed only in Israel |
LIGHT_CANDLES_TZEIS | number | LIGHT_CANDLES_TZEIS | Light candles in the evening at Tzeit time (3 small stars) |
CHANUKAH_CANDLES | number | CHANUKAH_CANDLES | Candle-lighting for Chanukah |
ROSH_CHODESH | number | ROSH_CHODESH | Rosh Chodesh, beginning of a new Hebrew month |
MINOR_FAST | number | MINOR_FAST | Minor fasts like Tzom Tammuz, Ta'anit Esther, ... |
SPECIAL_SHABBAT | number | SPECIAL_SHABBAT | Shabbat Shekalim, Zachor, ... |
PARSHA_HASHAVUA | number | PARSHA_HASHAVUA | Weekly sedrot on Saturdays |
DAF_YOMI | number | DAF_YOMI | Daily page of Talmud |
OMER_COUNT | number | OMER_COUNT | Days of the Omer |
MODERN_HOLIDAY | number | MODERN_HOLIDAY | Yom HaShoah, Yom HaAtzma'ut, ... |
MAJOR_FAST | number | MAJOR_FAST | Yom Kippur and Tish'a B'Av |
SHABBAT_MEVARCHIM | number | SHABBAT_MEVARCHIM | On the Saturday before Rosh Chodesh |
MOLAD | number | MOLAD | Molad |
USER_EVENT | number | USER_EVENT | Yahrzeit or Hebrew Anniversary |
HEBREW_DATE | number | HEBREW_DATE | Daily Hebrew date ("11th of Sivan, 5780") |
parshiot
The 54 parshiyot of the Torah as transilterated strings
parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[53] == 'Ha'Azinu'.
Kind: global constant
SimpleHebrewDate : Object
A simple Hebrew date object with numeric fields yy
, mm
, and dd
Kind: global typedef
Properties
Name | Type | Description |
---|
yy | number | Hebrew year |
mm | number | Hebrew month of year (1=NISAN, 7=TISHREI) |
dd | number | Day of month (1-30) |
Molad : Object
Represents a Molad
Kind: global typedef
Properties
Name | Type | Description |
---|
dow | number | Day of Week (0=Sunday, 6=Saturday) |
hour | number | hour of day (0-23) |
minutes | number | minutes past hour (0-59) |
chalakim | number | parts of a minute (0-17) |
DafYomiResult : Object
A Daf Yomi result
Kind: global typedef
Properties
Name | Type | Description |
---|
name | string | Tractate name |
blatt | number | Page number |
HebcalOptions : Object
Options to configure which events are returned
Kind: global typedef
Properties
Name | Type | Description |
---|
location | Location | latitude/longitude/tzid used for candle-lighting |
year | number | Gregorian or Hebrew year |
isHebrewYear | boolean | to interpret year as Hebrew year |
month | number | Gregorian or Hebrew month (to filter results to a single month) |
numYears | number | generate calendar for multiple years (default 1) |
start | Date | HDate | number | use specific start date (requires end date) |
end | Date | HDate | number | use specific end date (requires start date) |
candlelighting | boolean | calculate candle-lighting and havdalah times |
candleLightingMins | number | minutes before sundown to light candles (default 18) |
havdalahMins | number | minutes after sundown for Havdalah (typical values are 42, 50, or 72) |
havdalahTzeit | boolean | calculate Havdalah according to Tzeit Hakochavim - Nightfall (the point when 3 small stars are observable in the night time sky with the naked eye). Defaults to true unless havdalahMins is specified |
sedrot | boolean | calculate parashah hashavua on Saturdays |
il | boolean | Israeli holiday and sedra schedule |
noMinorFast | boolean | suppress minor fasts |
noModern | boolean | suppress modern holidays |
noRoshChodesh | boolean | suppress Rosh Chodesh |
shabbatMevarchim | boolean | add Shabbat Mevarchim |
noSpecialShabbat | boolean | suppress Special Shabbat |
noHolidays | boolean | suppress regular holidays |
dafyomi | boolean | include Daf Yomi |
omer | boolean | include Days of the Omer |
molad | boolean | include event announcing the molad |
ashkenazi | boolean | use Ashkenazi transliterations for event titles (default Sephardi transliterations) |
locale | string | translate event titles according to a locale (one of fi , fr , he , hu , pl , ru , ashkenazi , ashkenazi_litvish , ashkenazi_poylish , ashkenazi_standard ) |
hour12 | boolean | use 12-hour time (1-12) instead of default 24-hour time (0-23) |
addHebrewDates | boolean | print the Hebrew date for the entire date range |
addHebrewDatesForEvents | boolean | print the Hebrew date for dates with some events |