or download this
We just
assume that we're translating a GMT time, and then fudge
it when we're done for the timezone and daylight savings
...
timezones. Assuming that localtime() corrects for these
changes, this routine will also be correct. The daylight
savings offset is currently assumed to be one hour.