Files
notifications-api/notifications_utils/timezones.py

17 lines
494 B
Python
Raw Normal View History

import os
2025-02-24 10:18:33 -08:00
from zoneinfo import ZoneInfo
from dateutil import parser
2025-02-24 10:18:33 -08:00
local_timezone = os.getenv("TIMEZONE", ZoneInfo("America/New_York"))
def utc_string_to_aware_gmt_datetime(date):
"""
Date can either be a string, naïve UTC datetime or an aware UTC datetime
Returns an aware local datetime, essentially the time you'd see on your clock
"""
date = parser.parse(date)
2025-02-24 10:32:39 -08:00
forced_utc = date.replace(tzinfo=ZoneInfo("UTC"))
return forced_utc.astimezone(local_timezone)