Source code for pyacs.lib.astrotime.dayno2cal

"""
Return the day and month corresponding to day of year.
"""

[docs] def dayno2cal(dayno, year): """ Return the day and month corresponding to day of year. Parameters ---------- dayno : int or array-like Day of year (1-366). year : int or array-like Year. Returns ------- day : int or ndarray Day of month. month : int or ndarray Month (1-12). """ from ._common import __daynoOK, days from .leap_year import leap_year import numpy as np if isinstance(dayno, list): dayno=np.array(dayno) year=np.array(year) if isinstance(dayno, np.ndarray): [day,month]=np.array(list(map(dayno2cal,dayno,year))).T else: # check arguments and raise an Error if not OK __daynoOK(dayno, year) if (leap_year(year)):days[1] = 29 else:days[1] = 28 month = 0 end = days[month] while dayno > end: month=month+1 end= end + days[month] end = end - days[month] day = dayno - end month=month+1 return( np.array( day, dtype=int)+0 ,\ np.array( month, dtype=int)+0)