No, because it's not really a hard problem. Divide the number of seconds by 86400 using integer division to get the number of days. Take the remainder and divide that by 3600 to get the number of hours. Divide the remainder of that by 60 to get the number of minutes, and you're left with the number of seconds. All this is doable from the shell using the expr command if your shell is ancient enough to not support arithmetic natively

Taking the number of seconds since the epoch and turning that into a human readable date is a hard problem, and so there are standard ways to do that, e.g. date -r SECONDS from the shell. But that's a different problem.

I extract the first field of the uptime file, since at least on my Linux, there is a second field containing the total idle time. I treat that as the number of seconds since the epoch, and convert that to day of the year followed by time in hours, minutes and seconds. Since the day of the year starts at one, I subtract one from that in my final awk invocation.