Manually set the timezone in Time#localtime.

When calling `Time#getlocal` or `Time#localtime` without a fixed offset, `Time#zone` returns the current timezone. This wasn't happening before because the zone was set only if the offset was nil.
In this case it needed to be manually set, skipping all checks on the offset which `Time::get_tm()` (from vm) was performing.