Здесь есть какие-нибудь календари? Я искал информацию о том, как рассчитать праздники текущего года, которые происходят нерегулярно в григорианском календаре. Обычно это происходит из-за того, что праздник основан на более старом лунном календаре.
Я погуглил до тошноты и добился некоторого прогресса, но не смог завершить. Если у кого-то есть пример кода на современном языке, описывающий их расчет, я был бы очень благодарен. Я бы предпочел питон или один из языков C *.
Мои успехи:
Завершено:
Закрыть:
import calendar_util as cu # from date utils; no jokes from .br
#
# year = int(sys.argv1) or datetime.now().year
tj = cu.gregorian_to_jd(year, 1, 1) # this year in julian
ti = cu.jd_to_islamic(tj) # this year in islamic cal
rj = cu.islamic_to_jd(ti[0], 9, 1) # first day of ramadan in julian
#
print cu.jd_to_gregorian(rj) # first day of ramadan in greg
# output: (2011, 8, 1) # correct
Я получаю результаты в один выходной в 2014, 2016 годах, что подтверждается этим сайтом , хотя он упоминает «наблюдения в Северной Америке» немного расплывчато, на мой вкус. Был бы признателен за указатели для повышения точности, например, если 1 января достигнет некоторой годовой даты отсечения. Исламские годы короче и, следовательно, наступают раньше с каждым годом.
Нада:
Не уверен, что это полезно здесь, но события солнца и луны доступны через pyephem , который я уже использую. Может быть, это тоже пригодится.