Skip to content

Commit b6f0b5e

Browse files
committed
Fix syntax in datetime_from_isoformat for older Pythons
1 parent b68a2c9 commit b6f0b5e

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

‎domdf_python_tools/_isoformat.py‎

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -541,16 +541,18 @@ def datetime_from_isoformat(date_string: str) -> datetime:
541541
if became_next_day:
542542
year, month, day = date_components
543543
# Only wrap day/month when it was previously valid
544-
if 1 <= month <= 12 and day <= (days_in_month := _days_in_month(year, month)):
545-
# Calculate midnight of the next day
546-
day += 1
547-
if day > days_in_month:
548-
day = 1
549-
month += 1
550-
if month > 12:
551-
month = 1
552-
year += 1
553-
date_components = (year, month, day)
544+
if 1 <= month <= 12:
545+
days_in_month = _days_in_month(year, month)
546+
if day <= days_in_month:
547+
# Calculate midnight of the next day
548+
day += 1
549+
if day > days_in_month:
550+
day = 1
551+
month += 1
552+
if month > 12:
553+
month = 1
554+
year += 1
555+
date_components = (year, month, day)
554556
else:
555557
time_components = (0, 0, 0, 0, None)
556558

0 commit comments

Comments
 (0)