2 of 2 added 85 characters in body

C# (.NET Core), 186 185 bytes

using System;class P{static void Main(){var i=int.Parse(Console.ReadLine());Console.Write((i==0|i==60)?$"1900-{i%59+1}-{i%31}":DateTime.FromOADate(i+(i<60?1:0)).ToString("yyyy-M-d"));}}

Try it online!


-1 byte by replacing OR operator(||) with binary OR operator(|).