All posts
Internet Fundamentals

Time Zones and Dates for App Builders: Store UTC, Keep the Zone, and Respect Daylight Saving

By

October 26, 2026

5 min read

Reminders that fire an hour late twice a year, bookings that move when a user travels, reports that disagree about which day an order happened. Almost every date bug comes from losing either the instant or the user's time zone. The rules, the formats, and the cases where UTC alone is wrong.

Internet Fundamentals
Time Zones
Dates
Databases
APIs

Three kinds of time

Kind

Example

Store as

An instant

When an order was placed

UTC timestamp (timestamptz in Postgres)

A local time in a place

A dentist appointment at 9:00 in Chicago

Local date and time plus the IANA zone name (America/Chicago)

A floating date or time

A birthday; "remind me at 8:00 wherever I am"

A date, or a local time with no zone

Storing a future appointment only as UTC is wrong when the rules change: governments adjust daylight saving and offsets with little notice, and the IANA time zone database is updated several times a year to follow them. Keep the local time and zone, and compute the instant when needed.

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

Rules

  • Use IANA zone names, never fixed offsets like -05:00, which ignore daylight saving.

  • Send timestamps in APIs as RFC 3339 strings with an offset or Z, never as bare local strings.

  • Do date arithmetic with a time zone-aware library. "Add one day" across a daylight saving change is 23 or 25 hours.

  • Decide which time zone defines a business day for reports (the customer's, the company's), and write it down.

  • Run scheduled jobs in UTC, and compute user-facing schedules in each user's zone.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 26, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.