timeToDate(time, &hour, &minute, &second, &year, &month, &day) { new remain = time, leapYear = 1, sub, yearCounter; for(new i = 0; i < time - sub;) { sub = (leapYear > 0 && leapYear < 4) ? 31622400 : 31536000; if(i == 0) { i += 31536000; remain -= 31536000; } else { if(leapYear > 0 && leapYear < 4) { i += 31536000; leapYear++; remain -= 31536000; } else { i += 31622400; leapYear = 1; remain -= 31622400; } } if(time > 31536000) yearCounter++; } year = 1970 + yearCounter; sub = (leapYear > 0 && leapYear < 4) ? 86400 : 0; if(remain <= 2678400) { month = 1; remain -= 0; } else if(remain <= 5097600 + sub) { month = 2; remain -= 2678400; } else if(remain <= 7776000 + sub) { month = 3; remain -= 5097600; } else if(remain <= 10368000 + sub) { month = 4; remain -= 7776000; } else if(remain <= 13046400 + sub) { month = 5; remain -= 10368000; } else if(remain <= 15638400 + sub) { month = 6; remain -= 13046400; } else if(remain <= 18316800 + sub) { month = 7; remain -= 15638400; } else if(remain <= 20995200 + sub) { month = 8; remain -= 18316800; } else if(remain <= 23587200 + sub) { month = 9; remain -= 20995200; } else if(remain <= 26265600 + sub) { month = 10; remain -= 23587200; } else if(remain <= 28857600 + sub) { month = 11; remain -= 26265600; } else if(remain <= 31536000 + sub) { month = 12; remain -= 28857600; } day = floatround( floatdiv(float(remain), float(86400)), floatround_floor ); remain -= (day * 86400); hour = floatround( floatdiv(float(remain), float(3600)), floatround_floor ); remain -= (hour * 3600); minute = floatround( floatdiv(float(remain), float(60)), floatround_floor ); remain -= (minute * 60); second = remain; day++; return 1; }