in reply to UTC offset

>perl -le "use POSIX; print((POSIX::mktime(localtime) - POSIX::mktime( +gmtime)) / 60 / 60);" -5

...which is perfectly appropriate, since I'm in EST. If it was winter, I'd expect to see -4, because then I'd be in EDT. Maybe your OS's time zone isn't set right? Does the (unix) system tool date return the right time zone? The (linux and BSD) time zone is changed by altering to where the link /etc/localtime points. Where are you located, anyway?