I think that's the common behaviour.
If you want a localized version of the epoch time, you'd use Time.local()
instead of Time.now()
.
As Time.now()
will always (irrespective of your Time.zone()
setting) return the seconds since 1.1.1970 00:00 UTC.
Time.now()
in turn will return seconds since 1.1.1970 00:00
in your set time zone.
But all other functions (e.g. hour()
, timeStr()
, format()
) expect a UTC based time to give you a correct result, since the localization happens internally.
ScruffR:
I moved the unlrelated double post of this out of the other thread, to keep things "sorted".