Support other formats

This commit is contained in:
Alek Petuskey 2024-11-13 19:46:13 -08:00
parent a7f81bbe4d
commit 436a15a720
2 changed files with 3 additions and 9 deletions

View File

@ -79,7 +79,7 @@ class Moment(NoSSRComponent):
duration: Var[str]
# The date to display (also work if passed as children).
date: Var[Union[str, datetime.datetime, datetime.date]]
date: Var[Union[str, datetime.datetime, datetime.date, datetime.time, datetime.timedelta]]
# Shows the duration (elapsed time) between now and the provided datetime.
duration_from_now: Var[bool]

View File

@ -289,14 +289,8 @@ def serialize_datetime(dt: Union[date, datetime, time, timedelta]) -> str:
Returns:
The serialized datetime.
"""
if isinstance(dt, datetime):
return dt.isoformat()
elif isinstance(dt, date):
return dt.isoformat()
elif isinstance(dt, time):
return dt.isoformat()
else: # timedelta
return str(dt)
# Use isoformat for datetime-like objects, str for timedelta
return getattr(dt, 'isoformat', lambda: str(dt))()
@serializer(to=str)