Skip to content
RecipesDoc

Time Zones, Midnight and Daylight Saving, and Content by Location

Certyn checks dates and times in other time zones and what your app shows for other locations, and files the bugs it finds.

For teams with users in many time zones, or content that changes by location.

Your setup

  • A web app on staging with dates: orders, bookings, due dates.
  • Users far from your server, for example in Australia and the US.
  • A store finder or prices that use the user's location.

Say this to Certyn

Users in Sydney say order dates are off by a day. Check order dates in Australia/Sydney and America/Los_Angeles, around midnight and around the daylight saving switch. Also check the store finder from Berlin and from Chicago.

What Certyn does

  1. Says the run length and starts an explore run (app.run.create type explore). These tools work in runs, not on the chat's own Machine.
  2. Sets the browser's time zone (browser.timezone.set, an IANA name such as Australia/Sydney). The page's dates now use that zone. Certyn compares a record's time on each screen: list, detail page, export.
  3. Midnight: picks a zone where it is just before or after midnight now, so "today" and due dates are tested at that moment. A half hour zone such as Asia/Kolkata finds rounding bugs.
  4. Daylight saving: enters dates around the switch, for example 29 March and 25 October 2026 in Europe/Berlin. It checks durations, repeating events, and a time that does not exist (02:30 on 29 March).
  5. Location: sets the browser's location (browser.location.set, latitude and longitude) and checks what the page shows. It resets both when done.
  6. Files one issue per real bug, with the zone or place named.

What you get

  • Issues with the zone or place, the expected and shown result, and screenshots.
  • A run report with each zone and place checked.

Limits

  • The time zone changes, the clock does not, and the server's zone stays the same. Certyn cannot move the date to the switch day. To check at a fixed local time, schedule a process with a cron time and time zone (app.process.trigger.set).
  • The location setting changes only what the page asks the browser for. Content chosen by IP address does not change: requests come from where the run runs (Certyn's cloud, or your network on a self-hosted runner). Use your app's country selector, a region URL or cookie, a test account per country, or a runner in that region.