From 64815445e4f29d3881cf7b0146e94ee01a0b3121 Mon Sep 17 00:00:00 2001 From: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com> Date: Sun, 6 Jul 2025 02:54:26 +0800 Subject: [PATCH] langchain[patch]: fix a bug where `now.replace(day=now.day - 1)` would raise a `ValueError` when `now.day` is equal to 1 (#31878) --- libs/langchain/langchain/output_parsers/datetime.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/langchain/langchain/output_parsers/datetime.py b/libs/langchain/langchain/output_parsers/datetime.py index c4cf3169d1c..d5b1e60f11d 100644 --- a/libs/langchain/langchain/output_parsers/datetime.py +++ b/libs/langchain/langchain/output_parsers/datetime.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timedelta from langchain_core.exceptions import OutputParserException from langchain_core.output_parsers import BaseOutputParser @@ -31,7 +31,7 @@ class DatetimeOutputParser(BaseOutputParser[datetime]): [ now.strftime(self.format), (now.replace(year=now.year - 1)).strftime(self.format), - (now.replace(day=now.day - 1)).strftime(self.format), + (now - timedelta(days=1)).strftime(self.format), ] ) except ValueError: