arrow-py / arrow-py/arrow

"humanize" should return "end of tomorrow" instead of "two days"

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

Description

## Feature Request

```py
import arrow
import datetime

now = arrow.get()
print(now.humanize())

day = datetime.timedelta(days=1)
tomorrow = now + day
print(tomorrow.humanize())

end_of_tomorrow = tomorrow.replace(hour=23, minute=59, second=59)
print(end_of_tomorrow.humanize())
```

This prints

```
just now
in a day
in a day
```

It would be nice to be able to configure `arrow.get(...).humanize` to print something like:

```
just now
tomorrow at XPM
end of tomorrow
```

Similarly, it might be nice to get `"Wednesday"` instead of `"in two days"` (if today is e.g. Monday) via some fiddly knob.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the arrow.get(...).humanize entry point and reproduce the supplied example with the current date and time behavior. Clarify the desired configuration for end-of-tomorrow and weekday wording, then add coverage showing the requested output once the behavior is specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.