arrow-py / arrow-py/arrow

ceil("day") incorrect on the day before DST switch

Open
#1,124 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
9.1k
Forks
784
PR merge metrics
No merged PRs in 30d

Description

When reviewing this, make sure that you have an updated timezone database. The date of the DST switch for this location was moved ~3 weeks ago so if you try with an outdated database you will not see the DST switch occur on this date.

## Issue Description

For this timezone there is a DST switch from UTC-4 to UTC-3 occurring on 2022-09-11 00:00 to 2022-09-11 01:00 local time.
This makes `ceil("day")` misbehave on the day prior to the DST switch.

```
arrow.get(1662790000).to("America/Santiago").ceil("day")

```

Expected result:
```

```

## System Info

- 🖥 Debian Bullseye
- 🐍 3.10.5
- 🏹 1.2.3

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing arrow.get(...).to("America/Santiago").ceil("day") with an updated timezone database, focusing on the ceil("day") entry point. Trace how the day boundary is calculated around the 2022-09-11 DST transition and add regression coverage showing the expected 2022-09-10T23:59:59.999999-04:00 result.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.