ユリウス日(JD)を求める公式.月(M)が1月か2月ならば,
年(Y)をY-1とし,MをM;12とする(2016年2月ならば,2015年14月)とする
D(日):グレゴリオ暦の場合:A=int(Y/100), B=2-1+int(A/4),ユリウス暦の場合:B=0
求めるユリウス暦日(JD):JD=int(365.25(Y+4716))+int(30.6001(M+1))+D+B-1524.5
ユリウス暦日から,年月日を求める場合。JDに0.5を加える
得られた結果の整数部分をZとし,小数部分をFとする.もし,Z<2299161 ならば,A=Z,そうではなくてZが2299161かそれ以上ならば,aa = int((Z-1867216.25)/36525.25).。
A=Z+1+aa-int(aa/4),次にB=A+1524,C=int((B-122.1)/365.25),D=int(365.25C),E=int((B-D)/30.6001)
日(day of the month)=B-D-int(30.6001E),もし,E<14ならば月(m)=E-1,もし,Eが14か15ならば,月(m)=E-13,
年(year)は,m>2ならば,年(year)=C-4716,m=1又はm=2ならば,年(year)=C-4715。(出典:J. Meeus,"Astronomical Algorithms")
この二つの式でまずユリウス暦日を求め,それから日にちをたしたユリウス暦日から逆に年月日を求めるプログラムを書いたらどうですか。