private static double YearFromTime(double time){
double day = Math.Floor(time / msPerDay);
double year = 1970 + Math.Floor((400 * day + 398) / 146097); //gives us the right year, or right year + 1
double dfy = DayFromYear(year);
if (day < dfy){ //The first day of year is beyond day, so we have right year + 1
year -= 1;
}
return year;
}