Setting the timezone using
Time.zone= should be avoided.
zone attribute persists for the rest of the Ruby runtime, potentially causing unexpected behavior at a later time. Using
Time.use_zone ensures the code passed in the block is the only place
Time.zone is affected. It eliminates the possibility of a zone sticking around longer than intended.
Time.zone = 'EST'
Time.use_zone('EST') do # do something end