@hebcal/core

A perpetual Jewish Calendar API

Usage no npm install needed!

<script type="module">
  import hebcalCore from 'https://cdn.skypack.dev/@hebcal/core';
</script>

README

@hebcal/core

Hebcal is a perpetual Jewish Calendar. This library converts between Hebrew and Gregorian dates, and generates lists of Jewish holidays for any year (past, present or future). Shabbat and holiday candle lighting and havdalah times are approximated based on location. Torah readings (Parashat HaShavua), Daf Yomi, and counting of the Omer can also be specified. Hebcal also includes algorithms to calculate yahrzeits, birthdays and anniversaries.

Build Status

Hebcal was created in 1994 by Danny Sadinoff as a Unix/Linux program written in C, inspired by similar functionality written in Emacs Lisp. The initial JavaScript port was released in 2014 by Eyal Schachter (age 15). This ECMAScript 2015 implementation was released in 2020 by Michael J. Radwin. @hebcal/core targets both browser-based JavaScript and server-side Node.js.

Many users of this library will utilize the HebrewCalendar and HDate interfaces.

Installation

$ npm install @hebcal/core

Synopsis

import {HebrewCalendar, 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 = HebrewCalendar.calendar(options);

for (const ev of events) {
  const hd = ev.getDate();
  const date = hd.greg();
  console.log(date.toLocaleDateString(), ev.render(), hd.toString());
}

Classes

HDate

Represents a Hebrew date

Event

Represents an Event with a title, date, and flags

HebrewDateEvent

Daily Hebrew date ("11th of Sivan, 5780")

Zmanim

Class representing halachic times

Location

Class representing Location

TimedEvent

An event that has an eventTime and eventTimeStr

HavdalahEvent

Havdalah after Shabbat or holiday

CandleLightingEvent

Candle lighting before Shabbat or holiday

Molad

Represents a molad, the moment when the new moon is "born"

MoladEvent

Represents a Molad announcement on Shabbat Mevarchim

OmerEvent

Represents a day 1-49 of counting the Omer from Pesach to Shavuot

DafYomi

Returns the Daf Yomi for given date

DafYomiEvent

Event wrapper around a DafYomi instance

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

AsaraBTevetEvent

Because Asara B'Tevet often occurs twice in the same Gregorian year, we subclass HolidayEvent to override the url() method.

MevarchimChodeshEvent

Represents Mevarchim haChodesh, the announcement of the new month

MishnaYomiIndex

A program of daily learning in which participants study two Mishnahs each day in order to finish the entire Mishnah in ~6 years.

MishnaYomiEvent

Event wrapper around a Mishna Yomi instance

Objects

greg : object

Gregorian date helper functions.

Locale : object

A locale in Hebcal is used for translations/transliterations of holidays. @hebcal/core supports four locales by default

  • en - default, Sephardic transliterations (e.g. "Shabbat")
  • ashkenazi - Ashkenazi transliterations (e.g. "Shabbos")
  • he - Hebrew (e.g. "שַׁבָּת")
  • he-x-NoNikud - Hebrew without nikud (e.g. "שבת")

Constants

parshiot : Array.<string>

The 54 parshiyot of the Torah as transilterated strings parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[53] == "Ha'Azinu".

HebrewCalendar

HebrewCalendar is the main interface to the @hebcal/core library. This namespace is used to calculate 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.

Functions

gematriya(number)string

Converts a numerical value to a string of Hebrew letters.

When specifying years of the Hebrew calendar in the present millennium, we omit the thousands (which is presently 5 [ה]).

Typedefs

ZmanimTimesResult : Object
SedraResult : Object

Result of Sedra.lookup

MishnaYomi : Object

Options to configure which events are returned

HDate

Represents a Hebrew date

Kind: global class

new HDate([day], [month], [year])

Create a Hebrew date. There are 3 basic forms for the HDate() constructor.

  1. No parameters - represents the current Hebrew date at time of instantiation
  2. 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 date
    • number - Converts absolute R.D. days to Hebrew date. R.D. 1 == the imaginary date January 1, 1 (Gregorian)
  3. 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, months} 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, months.CHESHVAN, 5769);
const hd5 = new HDate(733359); // ==> 15 Cheshvan 5769
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. 0=Sunday, 6=Saturday

Kind: instance method of HDate

hDate.greg() ⇒ Date

Converts to Gregorian date

Kind: instance method of HDate

hDate.abs() ⇒ number

Returns R.D. (Rata Die) fixed days. R.D. 1 == Monday, January 1, 1 (Gregorian) Note also that R.D. = Julian Date − 1,721,424.5 https://en.wikipedia.org/wiki/Rata_Die#Dershowitz_and_Reingold

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], [showYear]) ⇒ 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 Default Description
[locale] string null Optional locale name (defaults to active locale).
[showYear] boolean true Display year (defaults to true).

Example

import {HDate, months} from '@hebcal/core';

const hd = new HDate(15, months.CHESHVAN, 5769);
console.log(hd.render()); // '15th of Cheshvan, 5769'
console.log(hd.render('he')); // '15 חֶשְׁוָן, 5769'

hDate.renderGematriya() ⇒ string

Renders this Hebrew date in Hebrew gematriya, regardless of locale.

Kind: instance method of HDate
Example

import {HDate, months} from '@hebcal/core';
const hd = new HDate(15, 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() // Sat Feb 15 2014

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() // Sat Feb 15 2014
new HDate(new Date('Saturday February 22, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014
new HDate(new Date('Sunday February 23, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014

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() // Sat Feb 22 2014
new HDate(new Date('Tuesday February 18, 2014')).nearest(6).greg() // Sat Feb 15 2014

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() // Sat Feb 22 2014
new HDate(new Date('Saturday February 22, 2014')).onOrAfter(6).greg() // Sat Feb 22 2014
new HDate(new Date('Sunday February 23, 2014')).onOrAfter(6).greg() // Sat Mar 01 2014

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() // Sat Feb 22 2014
new HDate(new Date('Saturday February 22, 2014')).after(6).greg() // Sat Mar 01 2014
new HDate(new Date('Sunday February 23, 2014')).after(6).greg() // Sat Mar 01 2014

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.add(number, [units]) ⇒ HDate

Returns a cloned HDate object with a specified amount of time added

Units are case insensitive, and support plural and short forms. Note, short forms are case sensitive.

Unit Shorthand Description
day d days
week w weeks
month M months
year y years

Kind: instance method of HDate

Param Type Default
number number
[units] string "d"

hDate.subtract(number, [units]) ⇒ HDate

Returns a cloned HDate object with a specified amount of time subracted

Units are case insensitive, and support plural and short forms. Note, short forms are case sensitive.

Unit Shorthand Description
day d days
week w weeks
month M months
year y years

Kind: instance method of HDate

Param Type Default
number number
[units] string "d"

Example

import {HDate, months} from '@hebcal/core';

const hd1 = new HDate(15, months.CHESHVAN, 5769);
const hd2 = hd1.add(1, 'weeks'); // 7 Kislev 5769
const hd3 = hd1.add(-3, 'M'); // 30 Av 5768

hDate.deltaDays(other) ⇒ number

Returns the difference in days between the two given HDates.

The result is positive if this date is comes chronologically after the other date, and negative if the order of the two dates is reversed.

The result is zero if the two dates are identical.

Kind: instance method of HDate

Param Type Description
other HDate Hebrew date to compare

Example

import {HDate, months} from '@hebcal/core';

const hd1 = new HDate(25, months.KISLEV, 5770);
const hd2 = new HDate(15, months.CHESHVAN, 5769);
const days = hd1.deltaDays(hd2); // 394

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

HDate.hebrew2abs(year, month, day) ⇒ number

Converts Hebrew date to R.D. (Rata Die) fixed days. R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian Calendar.

Kind: static method of HDate

Param Type Description
year number Hebrew year
month number Hebrew month
day number Hebrew date (1-30)

HDate.isLeapYear(year) ⇒ boolean

Returns true if Hebrew year is a leap year

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.monthsInYear(year) ⇒ number

Number of months in this Hebrew year (either 12 or 13 depending on leap year)

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.daysInMonth(month, year) ⇒ number

Number of days in Hebrew month in a given year (29 or 30)

Kind: static method of HDate

Param Type Description
month number Hebrew month (e.g. months.TISHREI)
year number Hebrew year

HDate.getMonthName(month, year) ⇒ string

Returns a transliterated string name of Hebrew month in year, for example 'Elul' or 'Cheshvan'.

Kind: static method of HDate

Param Type Description
month number Hebrew month (e.g. months.TISHREI)
year number Hebrew year

HDate.monthNum(month) ⇒ number

Returns the Hebrew month number (NISAN=1, TISHREI=7)

Kind: static method of HDate

Param Type Description
month number | string A number, or Hebrew month name string

HDate.elapsedDays(year) ⇒ number

Days from sunday prior to start of Hebrew calendar to mean conjunction of Tishrei in Hebrew YEAR

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.daysInYear(year) ⇒ number

Number of days in the hebrew YEAR

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.longCheshvan(year) ⇒ boolean

true if Cheshvan is long in Hebrew year

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.shortKislev(year) ⇒ boolean

true if Kislev is short in Hebrew year

Kind: static method of HDate

Param Type Description
year number Hebrew year

HDate.monthFromName(monthName) ⇒ number

Converts Hebrew month string name to numeric

Kind: static method of HDate

Param Type Description
monthName string monthName

HDate.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 HDate

Param Type
dayOfWeek number
absdate number

HDate.isHDate(obj) ⇒ boolean

Tests if the object is an instance of HDate

Kind: static method of HDate

Param Type
obj any

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 bitmask of holiday flags (see flags)
[attrs] Object {} optional additional attributes (e.g. eventTimeStr, cholHaMoedDay)

event.getDate() ⇒ HDate

Hebrew date of this event

Kind: instance method of Event

event.getDesc() ⇒ string

Untranslated description of this event

Kind: instance method of Event

event.getFlags() ⇒ number

Bitmask of optional event flags. See flags

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).

Example

const ev = new Event(new HDate(6, 'Sivan', 5749), 'Shavuot', flags.CHAG);
ev.render(); // 'Shavuot'
ev.render('he'); // 'שָׁבוּעוֹת'
ev.render('ashkenazi'); // 'Shavuos'

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.getEmoji() ⇒ string

Optional holiday-specific Emoji or null.

Kind: instance method of Event

event.basename() ⇒ string

Returns a simplified (untranslated) description for this event. For example, the HolidayEvent class supports "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.url() ⇒ string

Returns a URL to hebcal.com or sefaria.org for more detail on the event. Returns undefined for events with no detail page.

Kind: instance method of Event

event.observedInIsrael() ⇒ boolean

Is this event observed in Israel?

Kind: instance method of Event
Example

const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);
ev1.observedInIsrael(); // false
const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);
ev2.observedInIsrael(); // true

event.observedInDiaspora() ⇒ boolean

Is this event observed in the Diaspora?

Kind: instance method of Event
Example

const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);
ev1.observedInDiaspora(); // true
const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);
ev2.observedInDiaspora(); // true

event.getAttrs() ⇒ Object

Deprecated

Kind: instance method of Event

event.clone() ⇒ Event

Makes a clone of this Event object

Kind: instance method of Event

HebrewDateEvent

Daily Hebrew date ("11th of Sivan, 5780")

Kind: global class

new HebrewDateEvent(date)

Param Type
date HDate

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, months} from '@hebcal/core';

const hd = new HDate(15, months.CHESHVAN, 5769);
const ev = new HebrewDateEvent(hd);
console.log(ev.render()); // '15th of Cheshvan, 5769'
console.log(ev.render('he')); // 'ט״ו חֶשְׁוָן תשס״ט'

hebrewDateEvent.renderBrief([locale]) ⇒ string

Kind: instance method of HebrewDateEvent

Param Type Description
[locale] string Optional locale name (defaults to active locale).

Example

import {HDate, HebrewDateEvent, months} from '@hebcal/core';

const hd = new HDate(15, months.CHESHVAN, 5769);
const ev = new HebrewDateEvent(hd);
console.log(ev.renderBrief()); // '15th of Cheshvan'
console.log(ev.renderBrief('he')); // 'ט״ו חֶשְׁוָן'

HebrewDateEvent.renderHebrew(day, monthName, fullYear) ⇒ string

Deprecated

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() ⇒ ZmanimTimesResult

Deprecated

Kind: instance method of Zmanim

zmanim.sunrise() ⇒ Date

Kind: instance method of Zmanim

zmanim.sunset() ⇒ Date

Kind: instance method of Zmanim

zmanim.dawn() ⇒ Date

Kind: instance method of Zmanim

zmanim.dusk() ⇒ 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

Param Type
hours number

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([angle]) ⇒ Date

Kind: instance method of Zmanim

Param Type Default Description
[angle] number 8.5 optional time for solar depression. Default is 8.5 degrees for 3 small stars, use 7.083 degress for 3 medium-sized stars.

zmanim.neitzHaChama() ⇒ Date

Kind: instance method of Zmanim

zmanim.shkiah() ⇒ Date

Kind: instance method of Zmanim

zmanim.sunsetOffset(offset) ⇒ Date

Returns sunset + offset (either positive or negative).

Kind: instance method of Zmanim

Param Type
offset number

zmanim.sunsetOffsetTime(offset, timeFormat) ⇒ Array.<Object>

Deprecated

Returns an array with sunset + offset Date object, and a 24-hour string formatted time.

Kind: instance method of Zmanim

Param Type
offset number
timeFormat Intl.DateTimeFormat

zmanim.tzeitTime(angle, timeFormat) ⇒ Array.<Object>

Deprecated

Returns an array with tzeit Date object and a 24-hour string formatted time.

Kind: instance method of Zmanim

Param Type Description
angle number degrees for solar depression. Default is 8.5 degrees for 3 small stars, use 7.083 degress for 3 medium-sized stars.
timeFormat Intl.DateTimeFormat

Zmanim.formatTime(dt, timeFormat) ⇒ string

Uses timeFormat to return a date like '20:34'

Kind: static method of Zmanim

Param Type
dt Date
timeFormat Intl.DateTimeFormat

Zmanim.roundTime(dt) ⇒ Date

Discards seconds, rounding to nearest minute.

Kind: static method of Zmanim

Param Type
dt Date

Zmanim.timeZoneOffset(tzid, date) ⇒ string

Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")

Kind: static method of Zmanim

Param Type
tzid string
date Date

Zmanim.formatISOWithTimeZone(tzid, date) ⇒ string

Returns a string like "2022-04-01T13:06:00-11:00"

Kind: static method of Zmanim

Param Type
tzid string
date Date

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.getTimeFormatter() ⇒ Intl.DateTimeFormat

Gets a 24-hour time formatter (e.g. 07:41 or 20:03) for this location

Kind: instance method of Location

location.getGeoId() ⇒ string

Kind: instance method of Location

location.sunset(hdate) ⇒ Date

Deprecated

Kind: instance method of Location

Param Type
hdate Date | HDate

location.tzeit(hdate, [angle]) ⇒ Date

Deprecated

Kind: instance method of Location

Param Type
hdate Date | HDate
[angle] number

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

Param Type
name string

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') // 'America/Denver'

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'

Location.addLocation(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 Location

Param Type
cityName string
location Location

TimedEvent

An event that has an eventTime and eventTimeStr

Kind: global class

new TimedEvent(date, desc, mask, eventTime, location, linkedEvent)

Param Type Description
date HDate
desc string Description (not translated)
mask number
eventTime Date
location Location
linkedEvent Event

timedEvent.render([locale]) ⇒ string

Kind: instance method of TimedEvent

Param Type Description
[locale] string Optional locale name (defaults to active locale).

timedEvent.renderBrief([locale]) ⇒ string

Returns translation of "Candle lighting" without the time.

Kind: instance method of TimedEvent

Param Type Description
[locale] string Optional locale name (defaults to active locale).

HavdalahEvent

Havdalah after Shabbat or holiday

Kind: global class

new HavdalahEvent(date, mask, eventTime, location, havdalahMins, linkedEvent)

Param Type
date HDate
mask number
eventTime Date
location Location
havdalahMins number
linkedEvent Event

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).

havdalahEvent.getEmoji() ⇒ string

Kind: instance method of HavdalahEvent

CandleLightingEvent

Candle lighting before Shabbat or holiday

Kind: global class

new CandleLightingEvent(date, mask, eventTime, location, linkedEvent)

Param Type
date HDate
mask number
eventTime Date
location Location
linkedEvent Event

candleLightingEvent.getEmoji() ⇒ string

Kind: instance method of CandleLightingEvent

Molad

Represents a molad, the moment when the new moon is "born"

Kind: global class

new Molad(year, month)

Calculates the molad for a Hebrew month

Param Type
year number
month number

molad.getYear() ⇒ number

Kind: instance method of Molad

molad.getMonth() ⇒ number

Kind: instance method of Molad

molad.getMonthName() ⇒ string

Kind: instance method of Molad

molad.getDow() ⇒ number

Kind: instance method of Molad
Returns: number - Day of Week (0=Sunday, 6=Saturday)

molad.getHour() ⇒ number

Kind: instance method of Molad
Returns: number - hour of day (0-23)

molad.getMinutes() ⇒ number

Kind: instance method of Molad
Returns: number - minutes past hour (0-59)

molad.getChalakim() ⇒ number

Kind: instance method of Molad
Returns: number - parts of a minute (0-17)

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

  • use gettext()
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).

omerEvent.getEmoji() ⇒ string

Kind: instance method of OmerEvent

omerEvent.getWeeks() ⇒ number

Kind: instance method of OmerEvent

omerEvent.getDaysWithinWeeks() ⇒ number

Kind: instance method of OmerEvent

omerEvent.getTodayIs(locale) ⇒ string

Kind: instance method of OmerEvent

Param Type
locale string

DafYomi

Returns the Daf Yomi for given date

Kind: global class

new DafYomi(gregdate)

Initializes a daf yomi instance

Param Type Description
gregdate Date | HDate | number Gregorian date

dafYomi.getBlatt() ⇒ number

Kind: instance method of DafYomi

dafYomi.getName() ⇒ string

Kind: instance method of DafYomi

dafYomi.render([locale]) ⇒ string

Formats (with translation) the dafyomi result as a string like "Pesachim 34"

Kind: instance method of DafYomi

Param Type Description
[locale] string Optional locale name (defaults to active locale).

DafYomiEvent

Event wrapper around a DafYomi instance

Kind: global class

new DafYomiEvent(date)

Param Type
date HDate

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 R.D. days

sedra.getString(hDate, [locale]) ⇒ string

Looks up parsha for the date, then returns a translated or transliterated string

Kind: instance method of Sedra

Param Type Description
hDate HDate | number Hebrew date or R.D. days
[locale] string Optional locale name (i.e: 'he', 'fr'). Defaults to active locale

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 R.D. days

sedra.find(parsha) ⇒ HDate

Returns the date that a parsha occurs

Kind: instance method of Sedra

Param Type
parsha number | string | Array.<string>

sedra.getFirstSaturday() ⇒ number

R.D. date of the first Saturday on or after Rosh Hashana

Kind: instance method of Sedra

sedra.getYear() ⇒ number

Kind: instance method of Sedra

sedra.lookup(hDate) ⇒ SedraResult

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 R.D. days

ParshaEvent

Represents one of 54 weekly Torah portions, always on a Saturday

Kind: global class

new ParshaEvent(date, parsha, il)

Param Type Description
date HDate
parsha Array.<string> untranslated name of single or double parsha, such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim']
il boolean

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

parshaEvent.urlDateSuffix() ⇒ string

Kind: instance method of ParshaEvent

HolidayEvent

Represents a built-in holiday like Pesach, Purim or Tu BiShvat

Kind: global class