@ksaj @praetor Since you posted it in two different languages, allow me to add another:
{ (y m)←⍵ ⋄ +/ 1 (0⌈y-2) m × ⊃(1+×y-1)⊇(0 0 15r12) (15 0 9r12) (24 5 5r12)}Call it by adding the year and the day at the end of the expression. If you want the output in decimal rather than a fraction, you can add 0.0 to the result by prefixing the entire expression with 0.0+.
{ (y m)←⍵ ⋄ +/ 1 (0⌈y-2) m × ⊃(1+×y-1)⊇(0 0 15r12) (15 0 9r12) (24 5 5r12)} 1 10