Files
notifications-admin/notifications_utils/timezones.py

17 lines
494 B
Python
Raw Permalink Normal View History

import os
from zoneinfo import ZoneInfo
from dateutil import parser
local_timezone = ZoneInfo(os.getenv("TIMEZONE", "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)
forced_utc = date.replace(tzinfo=ZoneInfo("UTC"))
return forced_utc.astimezone(local_timezone)