Calendar
- class kanon.calendars.Calendar(era: kanon.calendars.calendars.Era, variant: str = '', months_mutation: Optional[Callable[[List[kanon.calendars.calendars.Month]], List[kanon.calendars.calendars.Month]]] = None)[source] [edit on github]
Bases:
object
This abstract class defines calendar behaviors. You need to subclass this to create a working
Calendar
. You have to define itsinterpolation
method, its_name
,_months
and maybe_cycle
.- Parameters
- Raises
ValueError – Raised when the calendar’s name has already been used.
Attributes Summary
Number of days in a common year
Cycle of common year and leap years (common, leap)
Number of days in a leap cycle
Calendar era
Number of days in a leap year
List of months
Name of this calendar
Registry of all calendars
Methods Summary
from_julian_days
(jdn)Builds a
Date
object at the specified julian day number.get_time
(year, month, day)astropy.time.Time
object at the specified date in ymdintercalation
(year)Is the specified year an intercalation year (leap)
jdn_at_ymd
(year, month, day)Julian day number at the specified date in ymd
Attributes Documentation
- registry: Dict[str, kanon.calendars.calendars.Calendar] = {'Arabic Astronomical Hijra': Calendar(Arabic Astronomical Hijra), 'Arabic Civil Hijra': Calendar(Arabic Civil Hijra), 'Byzantine A.D.': Calendar(Byzantine A.D.), 'Egyptian Nabonassar': Calendar(Egyptian Nabonassar), 'Egyptian Philippus': Calendar(Egyptian Philippus), 'Julian A.D.': Calendar(Julian A.D.), 'Julian A.D. First month March': Calendar(Julian A.D. First month March), 'Julian A.D. Leap December': Calendar(Julian A.D. Leap December), 'Julian Julian Era': Calendar(Julian Julian Era), 'Persian Yazdigird Andarjah after Ābān': Calendar(Persian Yazdigird Andarjah after Ābān), 'Persian Yazdigird Andarjah at the end': Calendar(Persian Yazdigird Andarjah at the end)}
Registry of all calendars
Methods Documentation
- from_julian_days(jdn: float) kanon.calendars.calendars.Date [source] [edit on github]
Builds a
Date
object at the specified julian day number.
-
get_time(year: int, month: int, day: int)
astropy.time.Time
[source] [edit on github] astropy.time.Time
object at the specified date in ymd
- abstract intercalation(year: int) bool [source] [edit on github]
Is the specified year an intercalation year (leap)