Skip to content

Commit 5dd362f

Browse files
authored
Merge branch 'main' into dev
2 parents 1582cf2 + c0f7b2b commit 5dd362f

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ Datetimeparser can even parse complex grammar and sentence structure.
2525

2626
<!-- LATESTCOMMIT:START -->
2727

28-
[<img width="380px" height="200px" src="https://opengraph.githubassets.com/5cb2af8b89d1b854939b913ca465416adb8d2e84d7451eac80600711a26df4b9/aridevelopment-de/datetimeparser/commit/1d1db8666b7bd0988dc46ce96db8a1029e419278" />][commitUrl]
28+
[<img width="380px" height="200px" src="https://opengraph.githubassets.com/936a79f7c64889e0e7efe76c495aceac33085c544b69faedf213b636fa0c29c1/aridevelopment-de/datetimeparser/commit/1672c753402d863969aab9043d250e586b7c0323" />][commitUrl]
2929

30-
[commitUrl]: https://github.com/aridevelopment-de/datetimeparser/commit/1d1db8666b7bd0988dc46ce96db8a1029e419278
30+
[commitUrl]: https://github.com/aridevelopment-de/datetimeparser/commit/1672c753402d863969aab9043d250e586b7c0323
3131
<!-- LATESTCOMMIT:END -->
3232

3333
## Examples

datetimeparser/evaluatormethods.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ def evaluate_constant_relatives(current_time: datetime, parsed: list) -> datetim
9292
hour, minute, sec = sanitized[-1].hours, sanitized[-1].minutes, sanitized[-1].seconds
9393
ev_out = datetime(base.year, base.month, base.day, hour, minute, sec)
9494

95+
elif sanitized[-2] in DatetimeDeltaConstants.ALL:
96+
ev_out = datetime(
97+
year=base.year,
98+
month=base.month,
99+
day=base.day,
100+
hour=sanitized[-2].time_value(None)[0],
101+
minute=sanitized[-2].time_value(None)[1],
102+
second=sanitized[-2].time_value(None)[2]
103+
)
104+
95105
elif isinstance(sanitized[-1], AbsoluteDateTime):
96106
base = datetime(
97107
year=current_time.year if sanitized[-1].year == 0 else sanitized[-1].year,
@@ -152,6 +162,16 @@ def evaluate_constants(current_time: datetime, parsed_object) -> Union[AbsoluteD
152162
else:
153163
dt = object_type.time_value(current_time.year)
154164

165+
if isinstance(dt, tuple):
166+
dt = datetime(
167+
year=current_time.year,
168+
month=current_time.month,
169+
day=current_time.day,
170+
hour=dt[0],
171+
minute=dt[1],
172+
second=dt[2]
173+
)
174+
155175
if current_time > dt and parsed_object[0] not in Constants.ALL_RELATIVE_CONSTANTS:
156176
dt += relativedelta(years=1)
157177

0 commit comments

Comments
 (0)