Skip to content

Beware of time zone #9

@armandofox

Description

@armandofox

If you're coding any functionality that has a dependency on time of day, do not use Time.now to mean the current time!

The reason is that Time.now returns the current time in the timezone where this computer (the one running the test) is located, but what you want is the time in the application's time zone.

We are making the application's time zone UTC (basically, GMT) since we will have users in all different time zones and each user can set the TZ in which they view and enter times. All times will be stored as UTC, and all time-dependent tasks will reckon time in UTC.

Therefore please use Time.zone.now to get the current time. Here is a good article on this gotcha. I've modified the Gemfile to include the timecop gem, which you can use to stub the clock in your tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions