America/Sao_Paulo

America/Sao_Paulo covers São Paulo, Rio de Janeiro, Belo Horizonte and the rest of Brazil, at -03:00 standard time, with no daylight saving time.

Loading tool…

Worked examples

  • A winter instant in America/Sao_Paulo

    America/Sao_Paulo's UTC offset and DST status on a January date, converted to UTC.

  • A summer instant in America/Sao_Paulo

    America/Sao_Paulo's UTC offset and DST status on a July date, converted to UTC — compare against the winter example to see any DST shift.

  • Converting America/Sao_Paulo to America/New_York

    A worked conversion from America/Sao_Paulo to America/New_York for a specific instant.

TZ identifier and aliases

America/Sao_Paulo is the canonical identifier for Brasília Time, covering São Paulo, Rio de Janeiro and most of Brazil's south, southeast and central-west. Brazil/East is an older name still pointing at the same rules but is a deprecated alias — use America/Sao_Paulo in new code. A cluster of northeastern Brazilian city links (America/Bahia, America/Recife, America/Fortaleza, America/Maceio, America/Belem, America/Araguaina, America/Santarem) currently share identical rules and are folded into the same entry.

UTC offset and DST rule

America/Sao_Paulo is -03:00 year-round with no daylight saving time. Brazil abolished DST nationally in 2019 after decades of on-and-off use, so unlike most of this batch there's no seasonal clock change to account for — São Paulo sits a fixed three hours behind UTC in every month.

Using it in cron, CI and Postgres

Set TZ=America/Sao_Paulo for a process that should schedule by Brazilian local time — naming the zone rather than hardcoding -03:00 keeps the config self-documenting and correct if Brazil's rules ever change again, a real possibility given the country's history of reversing this decision more than once. Postgres accepts it via SET TIME ZONE 'America/Sao_Paulo'; or the timezone setting. Because the zone is currently fixed, a cron job's local-time schedule behaves identically every day of the year — no 2am window to avoid, no duplicated or skipped runs. Teams that built DST-handling logic around Brazil before 2019 (a "spring forward"/"fall back" adjustment, for instance) should double check it was removed or made conditional, since it would now be dead code silently doing nothing — or worse, reactivated incorrectly if Brazil ever reinstates DST.

History and quirks

Brazil used daylight saving on and off for decades, most recently applying it only to the south, southeast and central-west regions — the area including São Paulo, Rio de Janeiro and Brasília, home to roughly 65% of the population — while the north and northeast never participated, since their proximity to the equator means day length barely changes across seasons and DST offered little benefit. The government discontinued the practice entirely in 2019, citing weak evidence of energy savings and the operational cost of coordinating a clock change across a country spanning four time zones. America/Sao_Paulo's offset, -03:00, is also notable for sitting only two hours behind UTC-equivalent European zones in winter, making Brazil–Europe collaboration comparatively easy for a South American country — a contrast with America/Los_Angeles or America/Denver, whose gap to Europe stretches to eight or nine hours.

Offsets and DST transitions on this page are computed from the IANA time zone database bundled with your browser; the rules described above were verified against tzdata 2026b when this page was published.

Frequently asked questions

Does America/Sao_Paulo observe DST?
No — America/Sao_Paulo keeps a fixed -03:00 offset from UTC all year, with no seasonal clock change.
What is the UTC offset of America/Sao_Paulo in winter/summer?
America/Sao_Paulo is -03:00 year-round — the same offset applies in every season.
Which cities use America/Sao_Paulo?
São Paulo, Rio de Janeiro, Belo Horizonte, Salvador all use the America/Sao_Paulo zone — also commonly known as Brasilia Time — along with the rest of Brazil.
What is the deprecated alias for this zone?
Brazil/East is a deprecated backward-compatibility name for this zone. Use the canonical identifier America/Sao_Paulo in code, cron jobs, `TZ` environment variables and config files instead.