This class implements an algorithmical intercalation scheme for the Persian calendar of 1925.
More...
|
|
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
|
| |
|
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.
|
| |
|
|
static bool | isLeap (int pYear) |
| | returns true for leap years
|
| |
|
static int | fixedFromPersianArithmetic (QVector< int > persian) |
| | find RD number for date in the Persian arithmetic calendar
|
| |
|
static QVector< int > | persianArithmeticFromFixed (int rd) |
| | find date in the Persian calendar from RD number
|
| |
| 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.
|
| |
|
| 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
} |
| |
|
void | partsChanged (QVector< int > parts) |
| |
|
void | jdChanged (double jd) |
| |
|
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 |
| |
|
double | JD |
| |
|
QVector< int > | parts |
| | date expressed as JD(UT), including day fraction (ready to interact with the main application)
|
| |
The leap year cycle is 2820 years long.