Skip to main content

Module chinese_based

Module chinese_based 

Source
Expand description

Chinese-like lunar calendars (Chinese, Dangi)

StructsΒ§

Chinese
A type implementing ChineseBased for the Chinese calendar
ChineseFromFixedResult
chinese_based_date_from_fixed returns extra things for use in caching
Dangi
A type implementing ChineseBased for the Dangi (Korean) calendar
YearBounds
Marks the bounds of a lunar year

ConstantsΒ§

MAX_ITERS_FOR_MONTHS_OF_YEAR πŸ”’
WELL_BEHAVED_ASTRONOMICAL_RANGE
For astronomical calendars in this module, the range in which they are expected to be well-behaved.

TraitsΒ§

ChineseBased
The trait ChineseBased is used by Chinese-based calendars to perform computations shared by such calendar. To do so, calendars should:

FunctionsΒ§

bind_winter_solstice πŸ”’
This function forces the RataDie to be on December 20, 21, 22, or 23. It was created for practical considerations and is not in the text.
chinese_based_date_from_fixed
Get a chinese based date from a fixed date, with the related Gregorian year
days_in_month
Returns the number of days in the given month after the given new_year. Also returns the RataDie of the new moon beginning the next month.
days_in_prev_year
Given a new year, calculate the number of days in the previous year
days_in_provided_year
Calculated the numbers of days in the given year
days_until_month
Given the new year and a month/day pair, calculate the number of days until the first day of the given month
extended_from_isoDeprecated
Given an ISO year, return the extended year
fixed_mid_year_from_year
Get a RataDie in the middle of a year.
get_leap_month_from_new_year
Given that new_year is the first day of a leap year, find which month in the year is a leap month.
is_leap_year
Whether this year is a leap year
iso_from_extendedDeprecated
Given an extended year, return the ISO year
last_month_day_in_year
The last month and day in this year
major_solar_term_from_fixed πŸ”’
Get the current major solar term of a fixed date, output as an integer from 1..=12.
midnight πŸ”’
Universal time of midnight at start of a Moment’s day at the observation location
month_days
Returns the number of days in the given (year, month).
month_structure_for_year
Returns the length of each month in the year, as well as a leap month index (1-indexed) if any.
new_moon_before πŸ”’
The fixed date in standard time at the observation location of the previous new moon before a given Moment.
new_moon_on_or_after πŸ”’
The fixed date in standard time at the observation location of the next new moon on or after a given Moment.
new_year_in_sui πŸ”’
Determines the fixed date of the lunar new year given the start of its corresponding solar year (ζ­²), which is also the winter solstice
new_year_on_or_before_fixed_date πŸ”’
Get the fixed date of the nearest Lunar New Year on or before a given fixed date. This function also returns the solstice following a given date for optimization (see #3743).
winter_solstice_on_or_before πŸ”’
Get the fixed date of the nearest winter solstice, in the Chinese time zone, on or before a given fixed date.