Stellarium  0.21.3
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Static Protected Attributes
HebrewCalendar Class Reference

The Hebrew calendar, introduced in the 4th century C.E., is a Lunisolar calendar with Lunar months and leap months in a fixed scheme. More...

#include <HebrewCalendar.hpp>

Public Types

enum  month {
  nisan =1, iyyar, sivan, tammuz,
  av, elul, tishri, marheshvan,
  kislev, tevet, shevat, adar,
  adarii
}
 
- Public Types inherited from Calendar
enum  Day {
  sunday = 0, monday, tuesday, wednesday,
  thursday, friday, saturday
}
 enum from CC.UE-ch1.12.
 
enum  Season { spring = 0, summer = 90, autumn = 180, winter = 270 }
 

Public Slots

virtual void retranslate () Q_DECL_OVERRIDE
 
virtual void setJD (double JD) Q_DECL_OVERRIDE
 Set a calendar date from the Julian day number.
 
virtual void setDate (QVector< int > parts) Q_DECL_OVERRIDE
 set date from a vector of calendar date elements sorted from the largest to the smallest. More...
 
virtual QStringList getDateStrings () const Q_DECL_OVERRIDE
 get a stringlist of calendar date elements sorted from the largest to the smallest. More...
 
virtual QString getFormattedDateString () const Q_DECL_OVERRIDE
 get a formatted complete string for a date
 
- Public Slots inherited from Calendar
virtual void retranslate ()=0
 Translate e.g. stringlists of part names.
 
virtual void setJD (double JD)=0
 Set a calendar date from the Julian day number Subclasses set JD and compute the parts and possibly other data This triggers the partsChanged() signal.
 
virtual double getJD () const
 Get Julian day number from a calendar date.
 
virtual void setDate (QVector< int > parts)=0
 set date from a vector of calendar date elements sorted from the largest to the smallest. More...
 
virtual QVector< int > getDate () const
 get a vector of calendar date elements sorted from the largest to the smallest. More...
 
virtual QStringList getDateStrings () const =0
 get a stringlist of calendar date elements sorted from the largest to the smallest. More...
 
virtual QString getFormattedDateString () const
 get a formatted complete string for a date. The default implementation just concatenates all strings from getDateStrings() with a space in between.
 

Public Member Functions

 HebrewCalendar (double jd)
 
- Public Member Functions inherited from Calendar
 Calendar (double jd)
 
int rdCorrSum (QVector< int >factors, int corr)
 

Static Public Member Functions

static bool isLeap (int hYear)
 returns true for leap years
 
static month lastMonthOfHebrewYear (int hYear)
 return number of months in a hebrew year
 
static bool hebrewSabbaticalYear (int hYear)
 return if hYear is sabbatical
 
static double molad (int hYear, int hMonth)
 return molad of a hebrew month
 
static int hebrewNewYear (int hYear)
 return RD of new year
 
static int daysInHebrewYear (int hYear)
 return number of days of a Hebrew year
 
static int lastDayOfHebrewMonth (int hYear, int hMonth)
 return number of days
 
static int fixedFromHebrew (QVector< int > hebrew)
 find RD number for date in the Hebrewcalendar
 
static QVector< int > hebrewFromFixed (int rd)
 find date in the Hebrew calendar from RD number
 
- Static Public Member Functions inherited from Calendar
static double momentFromJD (double jd, bool respectUTCoffset=true)
 Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a "moment" in RD that represents JD. More...
 
static int fixedFromMoment (double rd)
 
static double timeFromMoment (double rd)
 
static int fixedFromJD (double jd, bool respectUTCoffset=true)
 Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a fixed date in RD that represents noon of JD. More...
 
static double momentFromMJD (double mjd)
 
static double jdFromMoment (double rd, bool respectUTCoffset=true)
 interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More...
 
static double jdFromFixed (double rd, bool respectUTCoffset=true)
 interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More...
 
static double mjdFromFixed (double rd)
 
static int dayOfWeekFromFixed (int rd)
 weekday from RD date. CC.UE(1.60).
 
static int kdayOnOrBefore (const Calendar::Day k, const int rd)
 @Returns the R.D. of the nearest weekday k on or before rd
 
static int kdayOnOrAfter (const Calendar::Day k, const int rd)
 @Returns the R.D. of the nearest weekday k on or after rd
 
static int kdayNearest (const Calendar::Day k, const int rd)
 @Returns the R.D. of the nearest weekday k around rd
 
static int kdayBefore (const Calendar::Day k, const int rd)
 @Returns the R.D. of the nearest weekday k before rd
 
static int kdayAfter (const Calendar::Day k, const int rd)
 @Returns the R.D. of the nearest weekday k after rd
 
static double modInterval (double x, double a, double b)
 Interval modulus, CC.UE 1.24. More...
 
static int modInterval (int x, int a, int b)
 Interval modulus, CC.UE 1.24: This EXCLUDES the upper limit! Use StelUtils::amod(x, b) for CC's (x)mod[1..b].
 
static int rdCorrSum (QVector< int >parts, QVector< int >factors, int corr)
 Reingold-Dershowitz CC.UE 1.48.
 
static QVector< int > toRadix (int num, QVector< int >radix)
 Split integer to mixed-radix vector. Reingold-Dershowitz CC.UE 1.42.
 

Static Public Attributes

static const int hebrewEpoch
 
- Static Public Attributes inherited from Calendar
constexpr static const double J2000 =2451545.0
 
constexpr static const double jdEpoch =-1721424.5
 
constexpr static const double mjdEpoch =678576.0
 
constexpr static const int bogus =-1000000
 

Static Protected Member Functions

static int hebrewCalendarElapsedDays (int hYear)
 RD of January 1, AD1.
 
static int hebrewYearLengthCorrection (int hYear)
 
static bool longMarheshvan (int hYear)
 
static bool shortKislev (int hYear)
 

Static Protected Attributes

static QMap< int, QString > weekDayNames
 
static QMap< int, QString > monthNames
 

Additional Inherited Members

- Signals inherited from Calendar
void partsChanged (QVector< int > parts)
 
void jdChanged (double jd)
 
- Protected Attributes inherited from Calendar
double JD
 
QVector< int > parts
 date expressed as JD(UT), including day fraction (ready to interact with the main application)
 

Detailed Description

The year can have 6 different lengths.

Member Function Documentation

◆ getDateStrings

virtual QStringList HebrewCalendar::getDateStrings ( ) const
virtualslot

Year, Month, MonthName, Day, DayName

◆ setDate

virtual void HebrewCalendar::setDate ( QVector< int >  parts)
virtualslot

Year-Month[1...12]-Day[1...31]