This package is core functionality of react-jewish-datepicker
If you want to create a jewish date picker in vue.js or angular, this is the core dependency.
yarn add jewish-dates-core
Or with npm
npm i jewish-dates-core --save
- isValidDate
Returns whether a date is a Date object
- getHebWeekdays
Returns an array of week days in hebrew
- getEngWeekdays
Returns an array of week days in english
- getWeekdays
Returns an array of week days
- getHebJewishMonths
Returns an array of jewish months in hebrew
- getEngJewishMonths
Returns an array of jewish months in english
- getJewishMonths
Returns an array of jewish months according to year and language
- getJewishYears
Takes a number of a jewish year and returns array of 200 years around it
- getPrevMonth
Takes a BasicJewishMonthInfo object and returns the equivalent of prev month
- getNextMonth
Takes a BasicJewishMonthInfo object and returns the equivalent of next month
- getGregDate
Converts BasicJewishDate object to gregorian date
- getJewishMonthInfo
Takes a gregorian date and returns BasicJewishMonthInfo object
- formatJewishDate
Takes a BasicJewishDate object and returns a string of the date in english
- formatJewishDateHebrew
Takes a BasicJewishDate object and returns a string of the date in hebrew
- getJewishDate
Takes a gregorian date and returns a BasicJewishDate object
- IsJewishDatesEqual
Compares jewish dates returning true if the dates match and false if not
- getJewishDay
Takes a dayjs date and returns a JewishDay object
- getJewishMonth
Takes a gregorian date and returns a JewishMonth object
- getHolidays
Returns an array of jewish holiday dates corresponding with the isIsrael param
- dontSelectHolidays
Returns a function which can be passed to the `canSelect` prop, in order to prevent holidays selection
- dontSelectShabat
A function to be passed to the "canSelect" prop, in order to prevent shabat selection
- dontSelectShabatAndHolidays
Returns a function to be passed to the "canSelect" prop. combines "dontSelectHolidays" and "dontSelectShabat" in order to prevent both - shabat and holidays selection
- dontSelectOutOfRange
Takes min date and max date and returns a function to be passed to the "canSelect" prop, in order to prevent selection out of the supplied range
- addDates
Adds days to a given date
- subtractDates
Subtracts days to a given date
Returns whether a date is a Date object.
Param | Type |
---|---|
date | Date | BasicJewishDate |
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5788,
};
isValidDate(basicJewishDate); // ==> false
isValidDate(new Date()); // ==> true
Returns an array of week days in hebrew.
example:
getHebWeekdays(); // ==> ["א", "ב", "ג", "ד", "ה", "ו", "ש"]
Returns an array of week days in english.
example:
getEngWeekdays(); // ==> ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
Returns an array of week days corresponding with the isHebrew param.
Param | Type |
---|---|
isHebrew | boolean |
example:
getWeekdays(true); // ==> ["א", "ב", "ג", "ד", "ה", "ו", "ש"]
getWeekdays(false); // ==> ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
Takes a jewish month name in english and returns the name in hebrew.
Param | Type |
---|---|
monthId | string |
example:
getHebJewishMonthById("Tishri"); // ==> 'תשרי'
Returns an array of jewish months in hebrew.
example:
getHebJewishMonths(); // ==> [{id: "Tishri", text: "תשרי"}, {id: "Cheshvan", text: "חשון"} ...]
Returns an array of jewish months in english.
example:
getEngJewishMonths(); // ==> [{id: "Tishri", text: "Tishri"}, {id: "Cheshvan", text: "Cheshvan"} ...]
Returns an array of jewish months according to year (regular/leap) and language.
Param | Type | Default |
---|---|---|
year | number |
n/a |
isHebrew | boolean |
false |
example:
getJewishMonths(5781, true); // ==> [... {id: "AdarI", text: "אדר"}, {id: "Nisan", text: "ניסן"} ...] regular year months in henrew
getJewishMonths(5782); // ==> [... {id: "AdarI", text: "AdarI"}, {id: "AdarII", text: "AdarII"} ...] leap year months in english
Takes a number of a jewish year and returns array of 200 years around it.
Param | Type |
---|---|
year | number |
example:
getJewishYears(5781); // ==> [5681, 5682, ... 5781, ... 5880, 5881]
getJewishYears(5781).length; // ==> 201
Takes a BasicJewishMonthInfo object and returns the equivalent of prev month.
Param | Type |
---|---|
basicJewishMonthInfo | BasicJewishMonthInfo |
example:
const tishriInfo: BasicJewishMonthInfo = {
isHebrew: false,
month: "Tishri",
year: 5782,
};
getPrevMonth(tishriInfo); // ==> {isHebrew: false, month: 'Elul', year: 5781}
Takes a BasicJewishMonthInfo object and returns the equivalent of next month.
Param | Type |
---|---|
basicJewishMonthInfo | BasicJewishMonthInfo |
example:
const elulInfo: BasicJewishMonthInfo = {
isHebrew: true,
month: "Elul",
year: 5781,
};
getNextMonth(elulInfo); // ==> {isHebrew: true, month: 'Tishri', year: 5782}
Converts BasicJewishDate object to gregorian date.
Param | Type |
---|---|
props | BasicJewishDate |
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
};
getGregDate(basicJewishDate); // ==> Sat Aug 21 2021 00:00:00 GMT+0300 (שעון ישראל (קיץ))
Takes a gregorian date and returns BasicJewishMonthInfo object.
Param | Type |
---|---|
date | Date |
example:
getJewishMonthInfo(new Date(2022, 0, 27)); /* ==> { jewishDate: {year: 5782, month: 5, day: 25, monthName: 'Shevat'},
jewishMonth: 5,
startOfJewishMonth: Dayjs(new Date(2022, 0, 3)),
sundayStartOfTheMonth: Dayjs(new Date(2022, 0, 2))} */
Takes a BasicJewishDate object and returns a string of the date in english.
Param | Type |
---|---|
jewishDate | JewishDate |
example:
const jewishDate: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
formatJewishDate(jewishDate); // ==> "13 Elul 5781"
Takes a BasicJewishDate object and returns a string of the date in hebrew.
Param | Type |
---|---|
jewishDate | JewishDate |
example:
const jewishDate: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
formatJewishDateHebrew(jewishDate); // ==> "י״ג אלול התשפ״א"
Takes a gregorian date and returns a BasicJewishDate object.
Param | Type |
---|---|
date | Date |
example:
getJewishDate(new Date(2021, 7, 21)); // ==> {day: 13, monthName: "Elul", year: 5781, month: 13}
Compares jewish dates returning true if the dates match and false if not.
Param | Type |
---|---|
jewishDate1 | JewishDate |
jewishDate2 | JewishDate |
example:
const jewishDate1: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
const jewishDate2: JewishDate = {
day: 14,
monthName: "Shevat",
year: 5781,
month: 5,
};
IsJewishDatesEqual(jewishDate1, jewishDate2); // ==> false
IsJewishDatesEqual(jewishDate2, jewishDate2); // ==> true
Takes a gregorian date and returns a JewishMonth object.
Param | Type |
---|---|
dayjsDate | Dayjs |
example:
const date = Dayjs(new Date(2022, 0, 27));
getJewishDay(date); /* ==> { date: 2022-01-26T22:00:00.000Z,
day: 25,
dayjsDate: d {'$L': 'en', '$d': 2022-01-26T22:00:00.000Z, '$y': 2022, '$M': 0, '$D': 27, '$W': 4, '$H': 0, '$m': 0, '$s': 0, '$ms': 0},
isCurrentMonth: false,
jewishDate: { year: 5782, month: 5, day: 25, monthName: 'Shevat' },
jewishDateStr: '25 Shevat 5782',
jewishDateStrHebrew: 'כ״ה שבט התשפ״ב'} */
Takes a gregorian date and returns a JewishMonth object.
Param | Type |
---|---|
date | Date |
example:
getJewishMonth(new Date(2022, 0, 27)); /* ==> selectedDay: { day: 25, jewishDateStr: '25 Shevat 5782', ...},
jewishMonth: 5,
jewishYear: 5782,
jewishMonthString: 'Shevat',
days: [{day: 29, jewishDateStr: '29 Tevet 5782', ...}, { day: 1, jewishDateStr: '1 Shevat 5782', ...}, ...] */
Returns an array of jewish holiday dates corresponding with the isIsrael param.
Param | Type |
---|---|
isIsrael | boolean |
example:
getHolidays(true); // ==> ['1 Tishri', '2 Tishri', '10 Tishri', '15 Tishri', '22 Tishri', '15 Nisan', '21 Nisan', '6 Sivan']
getHolidays(false); // ==> ['1 Tishri', '2 Tishri', '10 Tishri', '15 Tishri', '22 Tishri', '15 Nisan', '21 Nisan', '6 Sivan', '16 Tishri', '23 Tishri', '16 Nisan', '22 Nisan', '7 Sivan']
Returns a function which can be passed to the canSelect
prop, in order to prevent holidays (corresponding with isIsrael
param) selection. The returned function takes a BasicJewishDay
object, and returns false
if it's an holiday and true
otherwise.
Param | Type | Default |
---|---|---|
isIsrael | boolean |
false |
example: full example here
A function to be passed to the canSelect
prop, in order to prevent shabat selection. Takes a BasicJewishDay
object, and returns false
if it's an shabat and true
otherwise.
Param | Type |
---|---|
day | BasicJewishDay |
example: full example here
Returns a function to be passed to the "canSelect" prop. combines dontSelectHolidays
and dontSelectShabat
in order to prevent both - shabat and holidays selection. The returned function takes a BasicJewishDay
object, and returns false
if it's an shabat or holiday and true
otherwise.
Param | Type | Default |
---|---|---|
isIsrael | boolean |
false |
example: full example here
Takes min date and max date and returns a function to be passed to the "canSelect" prop, in order to prevent selection out of the supplied range. The returned function takes a BasicJewishDay
object, and returns true
if it's within range (min date and max date included) and false
otherwise.
You can pass a date only for one of the params and null to the other. In this case, the selectable range will be up to max date or from min date.
Param | Type |
---|---|
minDate | Date | null |
maxDate | Date | null |
example: full example here
Takes a BasicJewishDate
object or a Date
, adds a date interval (numDays
) to the date and then returns the new date.
Param | Type |
---|---|
date | BasicJewishDate | Date |
numDays | number |
example:
const date = new Date(2022, 3, 17);
addDates(date, 3)) // => Wed Apr 20 2022 00:00:00 GMT+0300 (שעון ישראל (קיץ))
Takes a BasicJewishDate
object or a Date
, subtracts a date interval (numDays
) from the date and then returns the new date.
Param | Type |
---|---|
date | BasicJewishDate | Date |
numDays | number |
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
};
subtractDates(basicJewishDate, 4)) // => Tue Aug 17 2021 00:00:00 GMT+0300 (שעון ישראל (קיץ))
License: MIT.