11from __future__ import annotations
22
3+ import warnings
34from collections .abc import Iterable
45from datetime import date
56from datetime import datetime
@@ -220,7 +221,7 @@ def optional_date_to_string(value: date | str | None) -> str | None:
220221 if value is None :
221222 return None
222223
223- return datetime_to_date_string (value )
224+ return date_to_string (value )
224225
225226
226227def datetime_to_string (value : pd .Timestamp | datetime | date | str | int ) -> str :
@@ -249,7 +250,7 @@ def datetime_to_string(value: pd.Timestamp | datetime | date | str | int) -> str
249250 return pd .to_datetime (value ).isoformat ()
250251
251252
252- def datetime_to_date_string (value : pd .Timestamp | date | str | int ) -> str :
253+ def date_to_string (value : pd .Timestamp | date | str | int ) -> str :
253254 """
254255 Return a valid date string from the given value.
255256
@@ -265,11 +266,31 @@ def datetime_to_date_string(value: pd.Timestamp | date | str | int) -> str:
265266 """
266267 if isinstance (value , str ):
267268 return value
268- elif isinstance (value , int ):
269- return str (value )
270269 elif isinstance (value , date ):
271270 return value .isoformat ()
271+ elif isinstance (value , int ):
272+ warnings .warn (
273+ "Passing an int to `start_date` or `end_date` is deprecated and will be removed in v0.59.0."
274+ "Use a date or str instead." ,
275+ DeprecationWarning ,
276+ stacklevel = 2 ,
277+ )
278+ return str (value )
279+ elif isinstance (value , pd .Timestamp ):
280+ warnings .warn (
281+ "Passing a pandas Timestamp to `start_date` or `end_date` is deprecated and will be removed in v0.59.0."
282+ "Use a date or str instead." ,
283+ DeprecationWarning ,
284+ stacklevel = 2 ,
285+ )
286+ return pd .to_datetime (value ).date ().isoformat ()
272287 else :
288+ warnings .warn (
289+ f"Passing a { type (value )} to `start_date` or `end_date` is deprecated and will be removed in v0.59.0."
290+ "Use a date or str instead." ,
291+ DeprecationWarning ,
292+ stacklevel = 2 ,
293+ )
273294 return pd .to_datetime (value ).date ().isoformat ()
274295
275296
0 commit comments