From 436a15a720cc57f03f5aebbdc0f0cd16e18a3c85 Mon Sep 17 00:00:00 2001 From: Alek Petuskey Date: Wed, 13 Nov 2024 19:46:13 -0800 Subject: [PATCH] Support other formats --- reflex/components/moment/moment.py | 2 +- reflex/utils/serializers.py | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/reflex/components/moment/moment.py b/reflex/components/moment/moment.py index da14cf6f6..d11a92c51 100644 --- a/reflex/components/moment/moment.py +++ b/reflex/components/moment/moment.py @@ -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] diff --git a/reflex/utils/serializers.py b/reflex/utils/serializers.py index 93fadd5db..3ca91d75e 100644 --- a/reflex/utils/serializers.py +++ b/reflex/utils/serializers.py @@ -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)