Browse Source

fix: "minute must be in 0..59" error

pull/20/head
Jérôme Deuchnord 3 years ago
parent
commit
339385503b
1 changed files with 13 additions and 7 deletions
  1. +13
    -7
      kosmorrolib/dateutil.py

+ 13
- 7
kosmorrolib/dateutil.py View File

@@ -22,11 +22,17 @@ def normalize_datetime(date: datetime) -> datetime:

>>> normalize_datetime(datetime(2021, 6, 9, 2, 30, 30))
datetime.datetime(2021, 6, 9, 2, 31)

>>> normalize_datetime(datetime(2021, 6, 9, 23, 59, 59))
datetime.datetime(2021, 6, 10, 0, 0)

>>> normalize_datetime(datetime(2021, 12, 31, 23, 59, 59))
datetime.datetime(2022, 1, 1, 0, 0)
"""
return datetime(
date.year,
date.month,
date.day,
date.hour,
date.minute if date.second < 30 else date.minute + 1,
)
new_date = datetime(date.year, date.month, date.day, date.hour, date.minute)
if date.second >= 30:
new_date += timedelta(minutes=1)
return new_date

Loading…
Cancel
Save