Skip to content

Commit 906a38c

Browse files
author
Daniel Gillet
committed
naturaltime rounds to nearest when provided with a float value.
We used to round down. Now we round to the nearest.
1 parent 6d89dfa commit 906a38c

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/humanize/time.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def _date_and_delta(
8484
delta = value
8585
else:
8686
try:
87-
value = value if precise else int(value)
87+
value = value if precise else round(value)
8888
delta = dt.timedelta(seconds=value)
8989
date = now - delta
9090
except (ValueError, TypeError):

tests/test_time.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,9 @@ def test_naturaldelta(test_input: float | dt.timedelta, expected: str) -> None:
172172
(NOW - dt.timedelta(days=365 + 35), "1 year, 1 month ago"),
173173
(dt.timedelta(days=-10000), "27 years from now"),
174174
(dt.timedelta(days=365 + 35), "1 year, 1 month ago"),
175-
(23.5, "23 seconds ago"),
176-
# (23.9, "24 seconds ago"),
175+
(22.5, "22 seconds ago"),
176+
(23.5, "24 seconds ago"),
177+
(23.9, "24 seconds ago"),
177178
(30, "30 seconds ago"),
178179
(NOW - dt.timedelta(days=365 * 2 + 65), "2 years ago"),
179180
(NOW - dt.timedelta(days=365 + 4), "1 year, 4 days ago"),
@@ -221,7 +222,8 @@ def test_naturaltime(
221222
(NOW - dt.timedelta(days=365 + 35), "1 year, 35 days ago"),
222223
(dt.timedelta(days=-10000), "27 years from now"),
223224
(dt.timedelta(days=365 + 35), "1 year, 35 days ago"),
224-
(23.5, "23 seconds ago"),
225+
(22.5, "22 seconds ago"),
226+
(23.5, "24 seconds ago"),
225227
(30, "30 seconds ago"),
226228
(NOW - dt.timedelta(days=365 * 2 + 65), "2 years ago"),
227229
(NOW - dt.timedelta(days=365 + 4), "1 year, 4 days ago"),

0 commit comments

Comments
 (0)