If you want to translate timestamps to human-friendly description of date and time, then obviously there is a way to do it.
The functions localtime and gmtime are made specifically for this purpose; in glibc, they are implemented in terms of a function __tz_convert
, which is implemented in a file tzset.c. You'll probably need to review other functions it uses, though, I haven't studied all of it - GNU source is never easy to read.
UPD: __tz_convert
uses __offtime internally.